我正在尝试遍历一个目录,搜索标题中包含“Summary”一词的所有文件。找到文件后,我想打开该文件并检索包含“审核名称”和“已验证命中”的行。另外,还检索了文件的目录路径。
我当前的代码搜索包含 3 个摘要文件的目录。查找目录路径和文件名,但仅获取第一个文件的内容,并将该信息打印三次。
import os
data_dir = "<dir with data>"
for dirpath, dirnames, filenames in os.walk(data_dir):
for name in filenames:
if 'Summary' in name:
ofile = open(name, "r+")
lines = ofile.readlines()
ofile.close()
for line in lines:
if 'Audit Name:' in line:
audit_name = line
if 'Verified Hits' in line:
verified_hits = line
print(audit_name + verified_hits)
最佳答案
ofile = open(name, "r+")
名称只是文件名,不包含路径。因此,您将打开同一条路径 3 次。
尝试
ofile = open(os.path.join(dirpath, name), "r+")
关于Python循环不移动到下一个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51013259/