当前位置:   article > 正文

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

permissionerror: [errno 13] permission denied:

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

场景:

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

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

分析过程:

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

延申思考:

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

基本结构如下:

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

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

参考文章:

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/930339
推荐阅读
相关标签
  

闽ICP备14008679号