在python中搜索具有搜索词的文件

时间:2018-06-04 12:56:19

标签: python parsing search text

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

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)

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

谢谢!

2 个答案:

答案 0 :(得分:2)

如果我理解你需要你。

<style>
.pointer {
  cursor: pointer;
}
</style>

答案 1 :(得分:1)

因为当您在文件中找到正确的术语时,您不打印该术语,而是打印文件名,f。

尝试:

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

此外,请勿忘记在完成文件后关闭文件,或使用with