python - 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)
解决方案
ofile = open(name, "r+")
名称只是文件名,不包括路径。所以你打开相同的路径 3 次。
尝试
ofile = open(os.path.join(dirpath, name), "r+")
推荐阅读
- git - 当文件可用时,预推无此类文件
- excel - 如何从当前单元格和输入单元格中求和值
- amazon-web-services - EMR 上的 Spark 作业突然需要 30 小时(原为 5 小时)
- c++ - 将 int 分配给 int [x] 的不兼容类型
- c# - 如何使 Image.fillAmount 表现得像 unity.Slider?
- r - 如何使用 for 循环转换列
- macos - 产生 1 个错误。制作:*** [php_intl.lo] 错误 1 错误:`make' 失败
- android - 如何解压具有动态名称的包装 JSON 对象
- django - 将 Amazon s3 替换为 S3ForMe
- r - 在字符串中的随机位置插入随机字母