华为电脑-openpyxl-PermissionError: [Errno 13] Permission denied解决方案

今天例行用openpyxl处理excel时,突然报错如下(找了段差不多的报错样例):

Traceback (most recent call last):
  File "c:\users\pranu\appdata\local\programs\python\python38-32\lib\tkinter\__init__.py", line 1883, in __call__
    return self.func(*args)
  File "<ipython-input-22-6691247dc7ef>", line 44, in get1
    wb.save('E://invoice.xlsx')
  File "c:\users\pranu\appdata\local\programs\python\python38-32\lib\site-packages\openpyxl\workbook\workbook.py", line 392, in save
    save_workbook(self, filename)
  File "c:\users\pranu\appdata\local\programs\python\python38-32\lib\site-packages\openpyxl\writer\excel.py", line 291, in save_workbook
    archive = ZipFile(filename, 'w', ZIP_DEFLATED, allowZip64=True)
  File "c:\users\pranu\appdata\local\programs\python\python38-32\lib\zipfile.py", line 1251, in __init__
    self.fp = io.open(file, filemode)
PermissionError: [Errno 13] Permission denied: 'E://invoice.xlsx'

 然后试了网上几种方案:

1.文件打开了。(打没打开我看不到吗,我根本没打开)

2.文件夹只读。win10似乎是部分只读自动勾选,用attrib命令查看,文件夹没有只读属性。同时用户权限设定为完全允许,还是报错PermissionError。看来也不是只读问题。

3.openpyxl内存没有释放。理论来说我文件比较小,不应该会有这个情况。试了close()以及释放内存等形式,并没有改善。还是时好时不好。

  最后我在测试创建副本时,无意间发现复制失败,报错是DFSsearchservice占用了文件。我一看,原因这不就找到了吗。原来是华为电脑自带的电脑管家,不知道为啥给我开启了智慧搜索功能。这个搜索的进程DFSsearchservice.exe对文件造成了占用。只需要在电脑管家里关闭该功能即可。今后类似情况,也要考虑是不是有其他程序占用文件,例如网盘,onedrive等,举一反三。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值