我想使用Python函数将文件列表复制到Windows系统目录(C:\Windows)
。
我有一个功能:
import shutil
def copy_list(src_list, dst):
for file in src_list:
shutil.copy(file, dst)
我想这样称呼它:
def copy_as_admin():
#... some code to obtain user elevation ...
copy_list(files_list, "C:\\Windows\")
我怎样才能做到这一点?PS:我用的是Python3,我在这个线程中尝试了解决方案,How to run python script with elevated privilege on windows,但是那些解决方案是针对Python版本2的。
2条答案
按热度按时间wljmcqd81#
下面的例子建立在Cyrbil的出色工作之上。特别地,引入了两个枚举。第一个允许如何打开提升的程序的简单规范,第二个在需要容易地识别错误时有帮助。请注意,如果你想把所有的命令行参数传递给新进程,
sys.argv[0]
可能应该被替换为函数调用:subprocess.list2cmdline(sys.argv)
.envsm3lx2#
不能在运行时在windows上更改特权。
一个应用程序需要有一个清单(不适合python)或者作为特权用户运行。
当应用启动但权限过低时,您可以要求用户以管理员身份运行,或通过调用
runas
让应用以提升的权限自行重新启动。