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

Windows系统下用Python删文件夹遇PermissionError权限拒绝问题求助

解决Windows下Python删除文件夹PermissionError的方案

针对你遇到的PermissionError: [WinError 5] Access is denied: 'my files\dss'问题,以下是可行的解决步骤:

  • 检查进程占用
    确认目标文件夹没有被其他进程占用:比如资源管理器正打开该文件夹、编辑器加载了里面的文件,或者杀毒软件正在扫描。可以用Process Explorer工具搜索文件夹路径,找到占用进程后关闭。另外,代码中如果打开过文件夹内的文件,务必确保文件句柄已关闭(优先用with语句自动管理)。

  • 以管理员身份运行脚本
    Windows下权限限制严格,右键点击运行脚本的终端/IDE,选择「以管理员身份运行」,再执行删除操作。

  • 带权限处理的强制删除
    给shutil.rmtree添加错误处理函数,自动修改文件权限后重试删除:

    import os
    import stat
    import shutil
    
    def fix_permission_and_delete(func, path, exc_info):
        # 赋予文件/文件夹可写权限
        os.chmod(path, stat.S_IWRITE)
        # 重新执行删除操作
        func(path)
    
    shutil.rmtree(r'my files\dss', onerror=fix_permission_and_delete)
    
  • 检查NTFS权限设置
    右键目标文件夹→属性→安全→高级,确认当前用户拥有「删除」或「完全控制」权限。若没有,点击「添加」按钮,添加当前用户并赋予对应权限后应用。

  • 移除系统/隐藏属性
    如果文件夹带有系统或隐藏属性,先重置属性为普通再删除:

    import shutil
    from win32api import SetFileAttributes
    from win32con import FILE_ATTRIBUTE_NORMAL
    
    folder_path = r'my files\dss'
    # 重置为普通文件属性
    SetFileAttributes(folder_path, FILE_ATTRIBUTE_NORMAL)
    # 执行删除
    shutil.rmtree(folder_path)
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 10:22:06