2017-06-16 12 views
0

imはpythonに新しいです。imはlarg .logファイルで同じ単語をすべて見つけるはずのキーワード検索プログラムを構築しています(今のところ、タイムスタンプ ")、別々の.logファイルに値を格納します。Python、大規模な.logファイル内のキーワード検索コード

これは私が書いたコードであり、私の問題は最初の "タイムスタンプ"が.logのテキストファイルのuppをポップアップさせることです。

HELP? 重要= []

with open(filename) as f: #open search file 
    f = f.readlines() #read searrch file 
for lines in f: 
     if text in lines: #if keyword is found take all lines 
      important.append(lines) #store all found keywords 
      print('done') 
      break 
    # file or 'sorted.txt' 
with open('sorted.log', 'w') as file_handler: 
     file_handler.write(f"{filename}\n Status: {important} \n") 

search(r'C:\Users\AppData\Local\Programs\Python\search\OJW74.log', 'Time stamp:') # search path 

***例::)


デフ(ファイル名、テキスト)を検索します。 (このような.logファイルロックは)

Complete Response: 1636 59 02 FF 
Time stamp: 9792463 
Time between request and response(P2 time): 42 ms 

Complete Response: 1636 59 02 FF 
Time stamp: 9392463 
Time between request and response(P2 time): 42 ms 

Complete Response: 1636 59 02 FF 
Time stamp: 9794463 
Time between request and response(P2 time): 42 ms 
................... 
....................*** 
+0

最初にあなたのテキストを見つけたら、あなたはループの中で「中断」します。 'break'を削除してみてください – chapelo

答えて

1

あなたのforループの中breakラインは完全にループを終了しますので、それは今まで一度important.append(lines)を呼び出します - breakは、ここで目的を達成しません。

また、あなたのprint('done')行は、ループが終了したことを示すために左に2つのインデントレベルである必要があります。

+0

Thanks、revoving breakとインデントの手助け!今私はすべての価値を得る:)、しかし、彼らは同じ行にお互いの後にすべてのウィットンです、それを修正するいくつかの方法はありますか?そのため、1つの値はすべての行に表示され、同じ行には表示されません –

関連する問題