我是使用python的新手,我尝试了每个关键字并尝试搜索以帮助我弄清楚我的问题。我想创建一个程序,帮助我从文件夹中的不同txt文件中搜索关键字并返回文件名(python)。
这是我搜索的成果:
import glob
import os
path = r'<filepath of the folder>'
keyword = "internet" //ex is internet
for filename in glob.glob(os.path.join(path, '*.txt')):
f = open(filename)
if keyword in f:
print("filename")
我试过跑步(并且令人惊讶地)它运行正常但没有打印但是我很确定有一个带有互联网词的文件。因为它没有打印任何错误或任何内容,所以不确定我是否在正确的方向。
答案 0 :(得分:1)
您需要使用read()
for filename in glob.glob(os.path.join(path, '*.txt')):
with open(filename) as f:
if keyword in f.read():
print("filename")
或读取每一行并打印文件名,如果&#34;关键字&#34;找到了。
for filename in glob.glob(os.path.join(path, '*.txt')):
with open(filename) as f:
for line in f:
if keyword in line:
print("filename")
break