我是python的新手,我正在构建一个关键字搜索程序,它应该在larg .log文件中找到相同的每个单词(现在,单词“Time stamp”)并将值存储在单独的位置。日志文件。
这是我写的代码,我的问题是我只是第一次在.log文本新文件中弹出“时间戳”,而不是我想要的其他时间+100 ... < / p>
HELP? :)
def搜索(文件名,文本): 重要= []
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 :(得分:1)
for循环中的break
行将完全结束循环,因此它只会调用important.append(lines)
一次 - break
在此处没有用处。
另外我假设你的print('done')
行应该是左边的两个缩进级别,表示循环已经完成!