PermissionError: [Errno 13] Permission denied when saving a txt file with pyinstaller
PermissionError: [Errno 13] Permission denied when saving a txt file with pyinstaller
我想创建一个基于 tkinter 代码的简单 .exe
文件。现在,我只希望 .exe
在单击按钮时保存 .txt
文件。
当运行使用 tkinter 代码时,它可以正常工作。
但是,当我尝试 运行 使用 pyinstaller 生成的 .exe 文件时,出现错误:
PermissionError: [Errno 13] Permission denied "C:\Users\path\to\file.txt"
我已尝试以管理员身份运行 .exe 文件,但错误仍然存在。
这是简单的 tkinter_code:
import tkinter as tk
def test() :
directory = r'C:\Users\Path\to\file.txt'
with open(directory, 'w') as f:
print(directory)
f.write('readme')
#Instantiate the window
my_w = tk.Tk()
my_w.geometry("800x600") # Size of the window
my_w.title('test')
b2 = tk.Button(my_w, text='Generate file',
width=20,command = lambda:test())
b2.grid(row = 1, column = 1)
if __name__ == '__main__':
my_w.mainloop()
我创建 .exe
使用:
pyinstaller --onefile test.py
如有任何帮助,我们将不胜感激,在此先致谢。
我通过卸载并重新安装 anaconda(从 Python 3.7 到 Python 3.9)设法让它工作
您正在尝试将文件保存在 C:\Users\path\to\file.txt
中,因此出现权限错误。 open()
命令不允许编辑 PC 中的用户目录。因此,如果您尝试打开或保存或编辑其中的任何文件,您将收到此错误,因为它不是管理文件。只有管理员可以编辑该目录中的文件。您可以尝试 Run file as administrator
选项,但我不知道它是否有效。将文件保存在任何其他驱动器中可能会起作用。 (取决于您保存文件的目录)
我想创建一个基于 tkinter 代码的简单 .exe
文件。现在,我只希望 .exe
在单击按钮时保存 .txt
文件。
当运行使用 tkinter 代码时,它可以正常工作。
但是,当我尝试 运行 使用 pyinstaller 生成的 .exe 文件时,出现错误:
PermissionError: [Errno 13] Permission denied "C:\Users\path\to\file.txt"
我已尝试以管理员身份运行 .exe 文件,但错误仍然存在。
这是简单的 tkinter_code:
import tkinter as tk
def test() :
directory = r'C:\Users\Path\to\file.txt'
with open(directory, 'w') as f:
print(directory)
f.write('readme')
#Instantiate the window
my_w = tk.Tk()
my_w.geometry("800x600") # Size of the window
my_w.title('test')
b2 = tk.Button(my_w, text='Generate file',
width=20,command = lambda:test())
b2.grid(row = 1, column = 1)
if __name__ == '__main__':
my_w.mainloop()
我创建 .exe
使用:
pyinstaller --onefile test.py
如有任何帮助,我们将不胜感激,在此先致谢。
我通过卸载并重新安装 anaconda(从 Python 3.7 到 Python 3.9)设法让它工作
您正在尝试将文件保存在 C:\Users\path\to\file.txt
中,因此出现权限错误。 open()
命令不允许编辑 PC 中的用户目录。因此,如果您尝试打开或保存或编辑其中的任何文件,您将收到此错误,因为它不是管理文件。只有管理员可以编辑该目录中的文件。您可以尝试 Run file as administrator
选项,但我不知道它是否有效。将文件保存在任何其他驱动器中可能会起作用。 (取决于您保存文件的目录)