PermissionError:[Errno 13]权限被拒绝:尝试将工作簿写入桌面时

时间:2018-08-14 17:49:17

标签: python permissions permission-denied

我的代码如下:

from openpyxl import *

wb = Workbook()
ws = wb.active
ws.title = "primes"

prime_list = find_primes_to(1000)

index = 0
while index < prime_list.__len__():
    ws.cell( row = index + 1, column = 1, value = prime_list[index])
    index += 1

print("almost done")

wb.close()
wb.save('C:/Users/David/Desktop')

print("done")

“ wb.save()”之前的所有内容似乎都可以正常运行,如果我在没有路径的情况下运行它,它的执行就很好(尽管我找不到它保存到的位置)。添加路径会将其作为输出抛出:

almost done
Traceback (most recent call last):
  File "C:/Users/David/PycharmProjects/Primes/Primes runner.py", line 62, in <module>
    wb.save('C:/Users/David/Desktop')
  File "C:\Users\David\PycharmProjects\Primes\venv\lib\site-packages\openpyxl\workbook\workbook.py", line 372, in save
    save_workbook(self, filename)
  File "C:\Users\David\PycharmProjects\Primes\venv\lib\site-packages\openpyxl\writer\excel.py", line 282, in save_workbook
    archive = ZipFile(filename, 'w', ZIP_DEFLATED, allowZip64=True)
  File "C:\Users\David\AppData\Local\Programs\Python\Python36-32\lib\zipfile.py", line 1090, in __init__
    self.fp = io.open(file, filemode)
PermissionError: [Errno 13] Permission denied: 'C:/Users/David/Desktop'

Process finished with exit code 1

我已经检查了错误代码。我尝试以管理员身份运行它,尝试将其保存到其他文件位置。我尝试将其保存到其他驱动器,甚至外部闪存驱动器。我不知道如何获得适当的权限。有什么建议吗?

编辑:好的,我解决了。为了保存它,您必须在路径的末尾添加一个实际的文件名,如下所示:'C:/Users/David/Desktop/test.xlsx'。 这将创建新文件

2 个答案:

答案 0 :(得分:1)

您需要写入文件。例如: wb.close() wb.save('C:/Users/David/Desktop/Hello.xlsx') 要么 wb.save(r'C:\Users\David\Desktop\Hello.xlsx')

当您在该文件当前处于打开状态时尝试写入该文件时,也会发生这种情况。

答案 1 :(得分:0)

我有同样的错误....但是看起来我在后台打开了输出文件。我关闭了它,程序运行正常。