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

WinError 2:Python调用os.remove删除文件时提示找不到文件求助

解决os.remove()触发WinError 2找不到文件的问题

问题根源

os.listdir(r"All Posts")返回的只是目标目录里的纯文件名,而os.remove()默认会在当前Python脚本的工作目录下去找这个文件,显然文件实际在All Posts子目录里,所以会触发找不到文件的错误。你说尝试绝对路径没用,大概率是没正确把目录路径和文件名拼接起来。

修复方案

方法1:用os.path.join拼接完整路径

把目录路径和文件名拼接成完整路径再传入os.remove():

import os
target_dir = r"All Posts"
for filename in os.listdir(target_dir):
    # 拼接完整文件路径
    file_path = os.path.join(target_dir, filename)
    # 可选:先判断是不是文件,避免误删目录
    if os.path.isfile(file_path):
        os.remove(file_path)

方法2:用pathlib(Python3.4+推荐)

pathlib是更现代的文件路径处理库,写法更直观:

from pathlib import Path
target_dir = Path(r"All Posts")
for file_path in target_dir.iterdir():
    if file_path.is_file():
        file_path.unlink()

额外提示

  • 如果你要用绝对路径,只需要把target_dir换成完整的绝对路径即可,比如r"C:\Users\XXX\Documents\All Posts",两种方法都支持绝对路径。
  • 加上isfile/is_file判断是为了防止目录里还有子目录,避免尝试删除目录触发新的错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 14:45:33