首页 > 解决方案 > 在python中搜索具有搜索词的文件

问题描述

尝试使用该方法在文件夹中的一堆文本文档中查找搜索词:

dirname = '/Users/user/Documents/dat/'
search_terms = ['kek']

for f in os.listdir(dirname):

    text = open(os.path.join(dirname,f)).readlines() 

    if any(term in text for term in search_terms):

        print (f)

出于某种原因,不知道为什么,它给了我目录中第一个文件的名称,不管它是否包含这个搜索词。为了正确完成这项任务,应该做些什么不同的事情?

谢谢!

标签: pythonparsingsearchtext

解决方案


如果我理解正确,你需要。

dirname = '/Users/user/Documents/dat/'
search_terms = ['kek']

for f in os.listdir(dirname):
    with open(os.path.join(dirname,f), "r") as infile:
        text =  infile.read()

    if any(term in text for term in search_terms):
        print (f)

推荐阅读