从不同文件中搜索关键字并返回文件名

时间:2016-03-29 05:40:07

标签: python

我是使用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")

我试过跑步(并且令人惊讶地)它运行正常但没有打印但是我很确定有一个带有互联网词的文件。因为它没有打印任何错误或任何内容,所以不确定我是否在正确的方向。

1 个答案:

答案 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