Python,关键字搜索大型.log文件中的代码

时间:2017-06-16 11:57:32

标签: python file directory readfile writefile

我是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
...................
....................***

1 个答案:

答案 0 :(得分:1)

for循环中的break行将完全结束循环,因此它只会调用important.append(lines)一次 - break在此处没有用处。

另外我假设你的print('done')行应该是左边的两个缩进级别,表示循环已经完成!