我正在尝试在当前目录中的所有文本和日志文件中搜索字符串。如果找到匹配项,则打印找到匹配项的文本或日志文件。这是可能的,我如何操纵下面的代码来完成这项任务?
fiLe = open(logfile, "r")
userString = raw_input("Enter a string name to search: ")
for line in fiLe.readlines():
if userString in line:
print line
答案 0 :(得分:18)
这样的事情:
import os
directory = os.path.join("c:\\","path")
for root,dirs,files in os.walk(directory):
for file in files:
if file.endswith(".log") or file.endswith(".txt"):
f=open(file, 'r')
for line in f:
if userstring in line:
print "file: " + os.path.join(root,file)
break
f.close()
答案 1 :(得分:3)
他要求一个平坦的readdir,而不是一个递归的文件树步行。 os.listdir()完成了这项工作。
答案 2 :(得分:2)
你有在Python中做吗?否则,只需grep -l "string" *.txt *.log
即可。