Python报错PermissionError: [Errno 13] Permission denied: ‘xxx‘解决方法

报错信息:PermissionError: [Errno 13] Permission denied: 'xxx'

场景:

用openpyxl库往excel文件中写入数据、最后执行workbook.save(path)的时候报错。

解决方法:把目标文件关闭,重新执行即可。

分析过程:

在进行excel读写处理前,有通过 if os.path.exists(path) 检查文件路径,可以确定目标文件是存在的。错误原因是我把这个文件打开了,导致python无法对它进行写入操作。

延申思考:

python中的异常处理机制可以捕获到特定类型的Exception。所以我试了一下,把处理放到try模块中,当捕获到PermissionError这个类型的异常时,弹出警告框提醒使用者。

基本结构如下:

    def on_Test(self):
        try:
            path = r'D:\Test\output001.xlsx'
            # 把excel文件的读写处理放在这里,具体内容这里忽略
        except PermissionError:
            print("出现异常")
            QMessageBox.information(self, '提示', '请确认该文件已关闭!\n文件路径:'+path)
        else:
            # 没有异常时执行的处理
            print("文件已成功写入")
        finally:
            # 不管是否有异常都会执行的处理
            print("do nothing")

on_Test()是与按钮绑定的一个事件,当用户点击按钮时,执行try中的逻辑,当捕捉到PermissionError异常,弹出MessageBox提醒用户关闭文件。结果可行。

Python报错PermissionError: [Errno 13] Permission denied: ‘xxx‘解决方法_第1张图片

参考文章:

解决Python报错:PermissionError: [Errno 13] Permission denied_python permission denied-CSDN博客

你可能感兴趣的:(Python学习,python,开发语言)