嘿,我写了一个应该搜索.log文件并找到关键字“Complete Respons”的程序。所有找到的关键字应稍后写入并保存在一个新的.txt文件中。现在我已经管理程序来搜索一个文档,但是我在同一个目录中有相同类型的+50个文档,我想同时搜索所有文档,并将所有找到的关键字放在同一个.txt文档中。我真的可以用一些帮助...! 感谢python - 关键字搜索程序
def read_log_file(filename, keyword): #file
saved_word = [] # Array
# read file
with open(filename) as file_search: #open search file
file_search = file_search.readlines() #read file
for lines in file_search: # every word is scaned
if keyword in lines: # extract the keyword
saved_word.append(lines) #store all found keywords in array
# write in new file
with open('CompleteResponse.txt', 'w') as file_handler:
file_handler.write(f"{filename}\n")
for i in range(len(saved_word)):
file_handler.write(f"{saved_word[i]}")
print('done') # completed
print(len(saved_word)) # count found words
read_log_file(r'C:\Users\\Documents\read_log_files\test.log', 'Complete Response:')
请详细说明了一个问题:你有没有问题?异常? – pinturic
@fili:@Shai给出的答案会让你在那里。只是对你的代码的一些评论:'为file_search'中的行 - 为什么复数?在'file_search'中执行'for line',也不要养成'file_search = file_search.readlines()'的习惯,因为这会改变'file_search'的类型,并且会导致微妙的错误。最后,'file_search'和'file_handler'是奇怪的名字。并且随着日志文件变大,您可能希望避免将它们全部读入数组,然后逐行处理。 –