簡體   English   中英

PermissionError:[Errno 13] Windows 上的權限被拒絕

[英]PermissionError: [Errno 13] Permission denied on Windows

我正在開發一個 python 程序,該程序使用 openpyxl 庫將信息輸出到 Excel 文件中。 當我 go 使用“workbook.save(excel_file_path)”保存信息時,我收到“PermissionError: [Errno 13] path\to\output_file.xlsx”消息並且程序在寫入文件之前崩潰。

我一直被定向到這篇文章,但它並沒有解決我的問題: https://stackoverflow.com/a/36469464

  1. 以管理員身份運行 CMD.exe,導航到我的“application.exe”文件,然后運行它不起作用。
  2. 我無法創建快捷方式或批處理文件來使用“python.exe application.py”運行它,因為它導入了一個在這樣運行時無法檢測到的外部庫。 此外,我計划在多個 VM 上運行此程序,並且希望避免下載和安裝 Python 和每個所需的庫。 一個單一的.exe 文件是最好的解決方案。
  3. 我嘗試通過右鍵單擊該 .exe 文件並單擊“以管理員身份運行”來以管理員身份運行該文件。 我還嘗試檢查“屬性>兼容性>設置”菜單中的“以管理員身份運行此程序”檢查按鈕。

我打開了 .exe 文件的“屬性 > 安全”選項卡,它顯示該程序應該具有寫入文件的必要權限。 當我單擊安全選項卡中的“高級”按鈕時,“訪問”列對每一行都有“完全控制”。 Excel 文件保存到的父目錄也是這種情況。

其他需要注意的事項:

  1. 該程序使用 os.makedirs() 創建一個父目錄,如果該目錄不存在,則將 Excel 文件放入其中。 父目錄總是在程序崩潰之前創建,並且由於父目錄是由程序創建的,我猜它不會拒絕對其中包含的文件的寫權限。
  2. 正在寫入的 Excel 文件未打開(或尚不存在),因此不是因為文件使用沖突。
  3. Excel 文件位於與 .exe 文件不同的目錄中。 output 目錄和 .exe 文件都在兩個不同 Desktop 子目錄中的管理員帳戶上。
  4. 該程序在 PyCharm 中運行良好,但在從 Pyinstaller 創建的 .exe 中運行良好。

我的操作系統是 Windows 10,但我在涉及文本文件的舊 Windows 7 計算機上也遇到了同樣的問題。 Python 3.8 和 Pyinstaller 4.2 正在用於此。

我也有這個問題。

我只是刪除了從 Microsoft Store 下載的 python 版本並從網站重新安裝解決了我的問題。

在這里您可以下載最新的 python 版本: https://www.python.org/downloads/

您是否在中間使用了正斜杠或反斜杠? 它應該有正斜杠。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM