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

如何解决PermissionError: [WinError 32]文件夹未被占用却无法删除的问题?

解决WinError 32删除文件夹失败的问题

你遇到的PermissionError: [WinError 32]报错,即便确认没有其他进程占用文件夹,也可能由多种原因导致,以下是几种实用的解决方法:

  • 修复代码缩进问题
    首先检查你的代码缩进,原代码中if块内的语句没有正确缩进,这会导致语法错误或逻辑异常。正确的缩进应该是:

    from tkinter import messagebox
    import time
    import shutil
    import os
    
    dirpath = os.path.join('C:/Test/', 'Folder1')
    if os.path.exists(dirpath) and os.path.isdir(dirpath):
        shutil.rmtree(dirpath)
        print('Folder1 removed.')
    else:
        print('Folder1 does not exist!')
        messagebox.showinfo('Click OK.')
    
    dirpath = os.path.join('C:/Test/', 'Folder2')
    if os.path.exists(dirpath) and os.path.isdir(dirpath):
        shutil.rmtree(dirpath)
        print('Folder2 removed.')
    else:
        print('Folder2 does not exist!')
        messagebox.showinfo('Click OK.')
    
  • 处理只读/隐藏文件
    shutil.rmtree默认无法删除只读文件,这种情况会触发类似“被占用”的报错。可以自定义删除函数,先修改文件权限再删除:

    import os
    import stat
    import shutil
    
    def remove_readonly(func, path, excinfo):
        # 修改文件/目录权限为可写
        os.chmod(path, stat.S_IWRITE)
        # 重新执行删除操作
        func(path)
    
    # 使用自定义函数删除文件夹
    shutil.rmtree('C:/Test/Folder2', onerror=remove_readonly)
    
  • 延迟重试删除
    有时候系统会临时占用文件句柄(比如文件缓存未释放),可以尝试延迟后重试:

    dirpath = 'C:/Test/Folder2'
    if os.path.exists(dirpath) and os.path.isdir(dirpath):
        for _ in range(3):  # 重试3次
            try:
                shutil.rmtree(dirpath)
                print('Folder2 removed.')
                break
            except PermissionError:
                time.sleep(1)  # 等待1秒后重试
        else:
            print('Failed to remove Folder2 after 3 retries.')
    
  • 以管理员权限运行脚本
    Windows下部分目录需要管理员权限才能删除,右键点击Python脚本,选择“以管理员身份运行”再尝试。

  • 检查资源管理器预览
    即便你认为没有进程占用,资源管理器的文件预览功能可能会锁定文件夹。可以尝试:

    • 关闭包含该文件夹的资源管理器窗口
    • 刷新资源管理器(按F5)后再执行删除

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 11:10:20