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

Python脚本删除含Excel文件夹遇PermissionError的解决方案求助

解决删除含打开状态Excel文件的文件夹时的弹窗提示问题

当Excel文件处于打开状态时,系统会锁定该文件,导致shutil.rmtree()无法获取删除权限,触发PermissionError。我们可以通过异常捕获结合弹窗提示来处理这种情况,具体修改如下:

完整代码

import os
import shutil
from tkinter import messagebox

dirpath = os.path.join('C:/Path/Folder', 'Folder')
if os.path.exists(dirpath) and os.path.isdir(dirpath):
    try:
        shutil.rmtree(dirpath)
        print('Deleted.')
        messagebox.showinfo('提示', '文件夹已成功删除')
    except PermissionError:
        # 捕获文件被占用的权限错误,弹窗提示用户
        messagebox.showerror('删除失败', '文件夹内的Excel文件正处于打开状态,请关闭后重试!')
    except Exception as e:
        # 处理其他可能的异常
        messagebox.showerror('删除失败', f'发生未知错误:{str(e)}')
else:
    print('Folder does not exist!')
    messagebox.showinfo('提示', '文件夹不存在!')

关键说明

  • 导入messagebox:原代码未导入tkinter.messagebox,直接调用会报错,需添加导入语句。
  • 异常捕获:用try-except包裹删除操作,精准捕获PermissionError(文件被占用时抛出的异常类型),针对性提示用户关闭打开的Excel文件。
  • 弹窗优化:修正原代码中messagebox.showinfo的参数错误(需传入标题和提示内容两个参数),使用showerror显示错误提示,更直观。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 01:35:28