如何允许 python 脚本更改程序文件?
How to allow a python script to make changes to program files?
当有人下载我的程序时,他们会得到一个 .py
文件和另一个文件。
我希望 .py
文件将另一个文件移动到那个人的 Program Files
文件夹,但我收到 Permission denied
错误。
我无法让它工作。
import os
import glob
import shutil
files = glob.glob("Effects/*")
for f in files:
shutil.copy(f, "C:/Program Files/Project/Output/")
错误:
PermissionError: [Errno 13] Permission denied: 'C:/Program Files/Projects/Output\Output.txt'
我正在尝试获取管理员权限。
我用的是python3.8.5
您需要以管理员身份 运行 脚本(right-click 和 运行 作为管理员)。
但是为什么要将文件放在 program files
中?如果您只想从一开始就可以访问这些文件,您可以将文件夹添加到 PATH
.
如果您希望应用程序请求这些权限,您可以使用 py to exe
创建可执行文件,然后使用 windows UAC api[=13 使其请求权限=]
要编辑此目录中的文件,您必须使用管理员权限。
没有它们,您将始终收到这样的权限错误:
PermissionError: [Errno 13] Permission denied: 'C:/Program Files/Project/Output/a.txt'
要解决此问题,只需 运行 cmd
以管理员身份直接从特权命令提示符 运行 命令。
我找到了解决方案
使用 PyInstaller
将 .py
文件转换为 .exe
文件时,使用选项
-uac=admin
感谢@mogi
当有人下载我的程序时,他们会得到一个 .py
文件和另一个文件。
我希望 .py
文件将另一个文件移动到那个人的 Program Files
文件夹,但我收到 Permission denied
错误。
我无法让它工作。
import os
import glob
import shutil
files = glob.glob("Effects/*")
for f in files:
shutil.copy(f, "C:/Program Files/Project/Output/")
错误:
PermissionError: [Errno 13] Permission denied: 'C:/Program Files/Projects/Output\Output.txt'
我正在尝试获取管理员权限。
我用的是python3.8.5
您需要以管理员身份 运行 脚本(right-click 和 运行 作为管理员)。
但是为什么要将文件放在 program files
中?如果您只想从一开始就可以访问这些文件,您可以将文件夹添加到 PATH
.
如果您希望应用程序请求这些权限,您可以使用 py to exe
创建可执行文件,然后使用 windows UAC api[=13 使其请求权限=]
要编辑此目录中的文件,您必须使用管理员权限。 没有它们,您将始终收到这样的权限错误:
PermissionError: [Errno 13] Permission denied: 'C:/Program Files/Project/Output/a.txt'
要解决此问题,只需 运行 cmd
以管理员身份直接从特权命令提示符 运行 命令。
我找到了解决方案
使用 PyInstaller
将 .py
文件转换为 .exe
文件时,使用选项
-uac=admin
感谢@mogi