python:以管理员身份运行命令行

时间:2020-01-29 18:49:33

标签: python subprocess

我正在尝试通过python运行FreeCAD(一个CAD应用程序)。 您可以通过向可执行文件提供脚本(pyhthon)来通过命令行对其进行控制。 问题是您需要管理权限才能运行.exe文件。因此,我在Windows中要做的事情如下。

我以管理员身份打开CMD,然后键入:

"C:\Program Files\FreeCAD 0.18\bin\FreeCADCmd.exe" -l "C:\Users\Henry\Desktop\cylinder_macro.py"

这有效! 但是,我在使它从python运行时遇到困难。我正在尝试实现本文中建议的内容:Run process as admin with subprocess.run in python

import subprocess
prog = subprocess.run(['runas', '/noprofile', '/user:Administrator', "C:\\Program Files\\FreeCAD 0.18\\bin\\FreeCADCmd.exe","C:\\Users\\Henry\\Desktop\\cylinder_macro.py"])

它不起作用。 如果我打印prog,则会得到:

CompletedProcess(args=['runas', '/noprofile', '/user:Administrator', 'C:\\Program Files\\FreeCAD 0.18\\bin\\FreeCADCmd.exe', 'C:\\Users\\Dorian\\Henry\\cylinder_macro.py'], returncode=1)

任何关于如何使它起作用的想法都受到高度赞赏

0 个答案:

没有答案