18

私は周りを検索しましたが、この問題を解決するのに役立つ投稿が見つかりませんでした.同様のものを見つけましたが、とにかくこれだけに対処するものは見つかりませんでした.

これが私が抱えている問題です。Pythonスクリプトでテキストファイルを検索しようとしています。テキストファイルにはリストに数字があり、すべての数字がテキスト行に対応し、raw_inputがテキストファイル内の正確な数字と一致する場合そのテキスト行全体を印刷します。これまでのところ、番号を含む行を出力します。

問題の例、ユーザーが入力すると、出力は aと a20を含むすべてのものになるため、などを取得します。これを修正して、「20」を見つけるにはどうすればよいですか20220 foo 200 bar

ここに私が持っているコードがあります

num = raw_input ("Type Number : ")
search = open("file.txt")
for line in search:
 if num in line:
  print line 

ありがとう。

4

7 に答える 7

1
num = raw_input ("Type Number : ")
search = open("file.txt","r")
for line in search.readlines():
    for digit in num:
        # Check if any of the digits provided by the user are in the line.
        if digit in line:
            print line
            continue
于 2013-03-30T13:52:26.033 に答える
1

それは非常に簡単です:

numb = raw_input('Input Line: ')
fiIn = open('file.txt').readlines()
for lines in fiIn:
   if numb == lines[0]:
      print lines
于 2013-03-30T11:55:50.080 に答える
0

チェックは次のようにする必要があります。

if num == line.split()[0]:

file.txt が次のようなレイアウトの場合:

1 foo
20 bar
30 20

分割し"1 foo"['1', 'foo']、最初の項目である数字だけを使用します。

于 2013-03-30T11:48:43.650 に答える