首页 > 解决方案 > Python循环不移动到下一个文件

问题描述

我正在尝试遍历一个目录,搜索标题中包含“摘要”一词的所有文件。找到文件后,我想打开文件并检索存在“审核名称”和“已验证命中”的行。此外,检索文件的目录路径。

我当前的代码搜索包含 3 个摘要文件的目录。查找目录路径和文件名,但仅从第一个文件中获取内容,并将该信息打印 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)

标签: pythonos.walk

解决方案


ofile = open(name, "r+")

名称只是文件名,不包括路径。所以你打开相同的路径 3 次。

尝试

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

推荐阅读