【发布时间】:2018-07-15 21:37:39
【问题描述】:
我正在用 Python 编写一个脚本,用于在选定文件夹中的一堆 .txt 文件中搜索选定的术语(单词/单词、句子),并打印出包含选定项的 .txt 文件的名称学期。目前使用os 模块工作得很好:
import os
dirname = '/Users/User/Documents/test/reports'
search_terms = ['Pressure']
search_terms = [x.lower() for x in search_terms]
for f in os.listdir(dirname):
with open(os.path.join(dirname,f), "r", encoding="latin-1") as infile:
text = infile.read()
if all(term in text for term in search_terms):
print (f)
但我想为脚本制作扩展名:不仅可以在一个文件夹(目录名)中搜索,还可以在两个(例如,目录名1,目录名2)中搜索,其中也包含 .txt 文件。此外,我不仅想打印搜索到的报告的名称,还想打印它所在目录的名称(dirname)。是否可以使用os 模块来做到这一点,或者会有其他一些方法来做到这一点?
【问题讨论】:
-
把它们放在同一个目录下并做一个
os.walk() -
walk()方法仅通过自上而下或自下而上遍历目录树来生成目录树中的文件名。
标签: python file path directory python-os