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

使用Python os模块重命名文件夹遇FileExistsError[WinError183]求因

问题原因分析

你的错误出在重命名文件夹的逻辑上,具体原因如下:

  1. 目标文件夹已存在
    当执行os.rename(folder_path, new_folder_path)时,如果new_folder_path(即Tutorial {i})已经存在(比如之前运行过脚本生成过这些文件夹),Windows系统下的os.rename()函数不允许覆盖已存在的文件/文件夹,因此会抛出FileExistsError。

  2. exist_ok=True的作用范围不对
    你在os.makedirs(folder_path, exist_ok=True)中使用了该参数,但它仅用于确保原始文件夹folder_path(即Day{i})存在,完全不影响重命名的目标路径new_folder_path。这个参数无法解决目标路径已存在的问题。

  3. Windows系统的os.rename()限制
    不同于类Unix系统,Windows上的os.rename()不支持覆盖已存在的目标对象。只要目标路径有内容,重命名操作就会失败。

解决建议

如果你希望覆盖已存在的目标文件夹,可以改用shutil.move()函数(需先导入shutil模块),它能处理Windows下的覆盖场景:

import shutil

# 替换原有的os.rename行
shutil.move(folder_path, new_folder_path)

如果你不想覆盖,而是跳过已存在的目标文件夹,可以先检查目标路径是否存在:

if not os.path.exists(new_folder_path):
    os.rename(folder_path, new_folder_path)
else:
    print(f"跳过:{new_folder_name} 已存在")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 13:01:03