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

Python移动PDF文件报[WinError 2]系统找不到指定文件如何解决?

错误原因
  • 核心错误:你对同一个PDF文件先后调用了os.rename()和Path.rename()两次移动操作,第一次执行完成后原路径的文件已经被移动到目标文件夹,第二次操作访问原路径时自然找不到文件,直接触发[WinError 2]报错。
  • 其他潜在问题:
    • 未提前检测目标pdf文件夹是否存在,若文件夹未提前创建,移动操作也会报错
    • os.listdir()会返回路径下所有文件、文件夹名称,没有过滤文件夹的逻辑,若存在后缀为.pdf的文件夹,操作也会出现异常
    • 直接用字符串拼接路径,在Windows环境下容易出现斜杠匹配错误,建议使用路径拼接专用方法规避这类问题
修复后的代码
import os
from pathlib import Path

base_path = Path("C:/Users/farbod/Desktop")
pdf_folder_path = base_path / "pdf"

# 先创建目标文件夹,已存在则跳过
pdf_folder_path.mkdir(exist_ok=True)

# 遍历桌面路径下所有内容
for item in base_path.iterdir():
    # 仅处理后缀为.pdf的文件
    if item.is_file() and item.suffix.lower() == ".pdf":
        target_path = pdf_folder_path / item.name
        # 若存在重名文件可自行增加重命名逻辑,此处示例直接移动
        item.rename(target_path)
补充说明

如果需要处理子文件夹内的PDF,可将遍历逻辑替换为递归遍历即可。如果移动时出现目标路径已存在同名文件的报错,可增加重命名逻辑,比如给重名文件加序号后缀再移动。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 10:15:04