问题描述
我需要在多个文本文件中搜索某个关键字,并需要打印出包含该关键字的文本文件的名称。
到目前为止我有这个,但我不知道如何打印关键字所在的文件的名称。有人可以帮忙吗?
with open("result.txt","w") as resultfile:
for result in [txt for txt in os.listdir(os.getcwd()) if txt.endswith(".txt")]:
if 'keyword' in open(result).read():
resultfile.write('string is in file {1}')
else:
resultfile.write('NOT {0}')
解决方法
这样的东西可以工作。 for 循环遍历当前工作目录中的文件名,因此当前迭代是当前文件名。
with open("result.txt","w") as resultfile:
for result in [txt for txt in os.listdir(os.getcwd()) if txt.endswith(".txt")]:
if 'keyword' in open(result).read():
resultfile.write('string is in file %s' % result)
else:
resultfile.write('NOT %s' % result)