Python删除指定CSV文件脚本遇无法删除文件报错终止求助
解决Python删除文件时遇错误停止的问题
你的问题出在异常捕获的范围太大——原来的try块包裹了整个遍历和删除流程,只要有一个文件删除失败,就会直接触发except并终止整个循环。要实现单个文件出错就跳过、脚本继续执行的效果,需要把异常捕获的范围缩小到单个文件的删除操作上。
修改后的代码如下:
import os for rootDir, subdir, files in os.walk("Z:"): for filename in files: # 筛选需要删除的CSV文件,排除LBL.csv和Code.csv if filename.endswith(".csv") and filename not in ("LBL.csv", "Code.csv"): file_path = os.path.join(rootDir, filename) try: os.remove(file_path) print(f"已删除文件: {file_path}") # 可选:打印成功删除的日志,方便排查 except Exception as e: print(f"跳过无法删除的文件 {file_path},错误原因: {str(e)}")
关键修改点:
- 把
try-except移到单个文件的删除步骤周围,某一个文件删除失败时,只会处理当前错误,不会中断整个遍历流程 - 简化文件名判断逻辑:用
filename not in ("LBL.csv", "Code.csv")替代多次endswith,代码更简洁 - 增加日志输出,能清晰看到哪些文件被处理,哪些因错误被跳过
内容的提问来源于stack exchange,提问作者rspari
相关产品推荐
相关产品推荐

