尝试使用该方法在文件夹中的一堆文本文档中查找搜索词:
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)
出于某种原因,不知道为什么,它给了我目录中第一个文件的名称,无论是否包含此搜索词。应该做些什么来正确完成这项任务?
谢谢!
答案 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