2016-06-14 12 views
0

私はこのPythonコードのいくつかの助けに本当に欲しいです。私は変数(文字列)を検索し、変数データと同じ行にあるデータを返す必要があります。Pythonを使用してテキストファイル内の用語を検索しています

私は変数を作成してテキストファイル内の変数を検索することができましたが、変数に含まれるデータがテキストファイル内に見つかると、テキストファイル全体の内容が行ではなく出力されます可変データが存在する。

これは、これまでの私のコードです、助けてください:

number = input("Please enter the number of the item that you want to  find:") 
f = open("file.txt", "r") 
lines = f.read() 
if lines.find("number"): 
    print (lines) 
else: 
    f.close 

は、事前にありがとうございます。

+2

'' lines'のリストで文字列 '" number "を探しています。おそらく、次のようなことをしたいと思います。 」 – alfasin

答えて

0

はあなたのリストの形式でテキストファイル内のすべての行を与え、その後、あなたですリストの内容を単純に出力することができます...

2

以下の私の変更を参照してください:これは何をしよう

lines_containg_number = [line for line in lines if number in line] 

みたいになり

number = input("Please enter the number of the item that you want to find:") 
f = open("file.txt", "r") 
lines = f.read() 
for line in lines: # check each line instead 
    if number in line: # if the number you're looking for is present 
     print(line) # print it 
0

'with'ループを使用すると、ファイルを閉じる必要はありません。 〜によって処理されます。それ以外の場合は、f.close()を使用する必要があります。解決策:

number = input("Please enter the number of the item that you want to find:") 
with open('file.txt', 'r') as f: 
    for line in f: 
     if number in line: 
      print line 
関連する問題