PermissionError: [Errno 13] Permission denied on Windows



我正在编写一个python程序,该程序使用openpyxl库将信息输出到Excel文件中。当我使用"workbook.save(excel_file_path)"保存信息时,我得到"PermissionError: [Errno 13] pathtooutput_file.xlsx"消息,程序在写入文件之前崩溃。

我一直被引导到这个帖子,但它并没有解决我的问题:https://stackoverflow.com/a/36469464

  1. 以管理员身份运行CMD.exe,导航到我的" application.exe "文件,然后运行它不工作
  2. 我不能创建一个快捷方式或批处理文件来运行它"python.exe application.py",因为它导入了一个外部库,当这样运行时无法检测到。此外,我计划在多个vm上运行这个程序,并且希望避免为每个vm下载和安装Python和必要的库。一个。exe文件是最好的解决方案。
  3. 我已经尝试运行。exe文件作为管理员右键单击它,并单击"运行作为管理员。"我还试着检查了"以管理员身份运行此程序";"属性"中的"检查"按钮兼容性比;settings"菜单。

我打开了.exe文件的"属性">security"选项卡,它显示程序应该具有向文件写入所需的权限。当我点击&;advanced &;按钮时,"访问"列具有"完全控制"。对于每一行。这也是Excel文件被保存到的父目录的情况。

其他注意事项:

  1. 程序用os.makedirs()创建一个父目录,如果该目录不存在,则将Excel文件放入该目录。父目录总是在程序崩溃之前创建的,因为父目录是由程序创建的,我猜它不会拒绝对其中包含的文件的写权限。
  2. 被写入的Excel文件没有打开(或者它还不存在),所以不是因为文件使用冲突。
  3. Excel文件位于与。exe文件不同的目录中。输出目录和.exe文件都位于管理员帐户的两个不同的Desktop子目录中。
  4. 程序在PyCharm中工作正常,但在Pyinstaller创建的。exe中不能正常工作。

我的操作系统是Windows 10,但我的旧Windows 7电脑也有同样的问题,涉及文本文件。Python 3.8和Pyinstaller 4.2用于此。

我也遇到过这个问题。

我只是删除了从微软商店下载的python版本,并从网站上重新安装它解决了我的问题。

你可以在这里下载最新的python版本:https://www.python.org/downloads/

你在中间使用了正斜杠还是反斜杠?它应该有正斜杠

最新更新