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

Python运行报PermissionError: [WinError 5] Access is denied如何解决

问题排查结果

核心错误原因

你代码中调用os.rename()时的参数填写错误:你传入的源路径是C:/Users/Ajay/Downloads完整目录,并非筛选出来的单个xlsx/csv文件路径,触发的操作是把整个Downloads系统目录移动/重命名到目标路径,Windows对用户目录下的Downloads文件夹有默认权限保护,因此触发权限报错,和你是否用管理员身份运行无关。

修正后可运行代码

import os
import shutil

# 先确认目标目录存在,不存在则自动创建
target_dir = 'C:/Users/Ajay/Projects/GFD'
os.makedirs(target_dir, exist_ok=True)

source_dir = 'C:/Users/Ajay/Downloads'
for name in os.listdir(source_dir):
    if name.endswith('.xlsx') or name.endswith('.csv'):
        # 拼接完整的源文件路径和目标文件路径
        src_path = os.path.join(source_dir, name)
        dst_path = os.path.join(target_dir, name)
        # 执行移动操作
        shutil.move(src_path, dst_path)
        print(f"已移动文件:{name}")

额外注意事项

  • 如果目标目录下已经存在同名的xlsx/csv文件,shutil.move()会直接覆盖原有文件,如有需要可以在移动前加判断逻辑,避免文件丢失
  • 移动文件前确认对应文件没有被Excel、WPS等软件打开,被占用的文件也会触发权限报错

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 22:57:05