You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python将文件夹列表与检测结果输出到CSV不同列?

解决方案

原代码存在的问题

  • 变量命名冲突:循环中重复使用files、path变量,导致逻辑混乱
  • 路径判断错误:os.path.exists不支持通配符,"*\\raw.txt"写法无法正确检测文件
  • 逻辑分离:两次循环分别处理文件夹列表和文件检测,无法将两者对应写入CSV同一行
  • 未区分文件和文件夹:os.listdir会列出所有文件和文件夹,没有只筛选目标目录

修正后的代码

import os
import csv

# 替换为存放200+文件夹的父目录路径
root_dir = "你的父目录路径"

# 打开CSV文件准备写入
with open("folder_check.csv", "w", newline="", encoding="utf-8") as f:
    writer = csv.writer(f)
    # 写入表头
    writer.writerow(["文件夹名称", "是否存在raw.txt"])
    
    # 遍历根目录下的所有一级文件夹
    for entry in os.scandir(root_dir):
        if entry.is_dir():
            # 拼接当前文件夹下的raw.txt路径
            raw_txt_path = os.path.join(entry.path, "raw.txt")
            # 判断文件是否存在
            has_raw = "Yes" if os.path.exists(raw_txt_path) else "No"
            # 写入一行对应数据
            writer.writerow([entry.name, has_raw])

关键说明

  • 用os.scandir替代os.listdir,可高效判断是否为目录
  • os.path.join拼接路径,避免手动写分隔符导致的跨平台问题
  • 直接将文件夹名和检测结果配对写入,确保CSV每行两列对应正确
  • 若需要遍历所有层级子目录,可替换为os.walk,但需注意只处理目录节点

内容的提问来源于stack exchange,提问作者Volcano

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 04:55:28