Python循环不会移至下一个文件

时间:2018-06-24 19:25:13

标签: python os.walk

我试图遍历目录,搜索标题中包含单词“ 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)

1 个答案:

答案 0 :(得分:3)

ofile = open(name, "r+")

名称只是文件名,不包括路径。因此,您要打开同一条路径3次。

尝试

ofile = open(os.path.join(dirpath, name), "r+")