我们在项目中使用python 2,我们使用pywin32 lib创建了各种在Windows 10上工作的脚本,并使用import win32com.shell.shell as shell
,然后执行shell命令,如shell.ShellExecuteEx(lpVerb='runas', lpFile='cmd.exe', lpParameters='/c ' + commands)
,其中命令是我们用来作为管理提示符执行的命令。
我们的脚本需要做一些安装,我们作为命令传递,最近由于行政决定,我们必须转移到python3,当我试图导入import win32com.shell.shell as shell
时,它无法导入它。
有人能建议我们如何在Windows 10上的Python 3.8.3中以管理员身份执行shell命令吗?
3条答案
按热度按时间5n0oy7gb1#
我知道这是旧的,但如果有人仍然有同样的问题,你可以使用
from win32comext.shell import shell
,因为它在这里提到的github。ut6juiuv2#
你现在可以使用the PyUAC module(对于Windows,Python 3)。安装时使用:
该软件包的直接用途是:
或者,如果你想使用装饰器:
实际代码(在模块中)是:-
(from this answer)
nkoocmlb3#
win32com.shell.shell ,因为shell将只在python2上导入,如果你想升级,你必须更新到一个新版本的pywin32。一个github repo发布了v225,它支持Python 3.8.3安装文件,你应该能够使用你的代码而不会有任何导入错误
https://github.com/CristiFati/Prebuilt-Binaries/tree/master/PyWin32/v225
如果这不起作用,则替代解决方案是使用副本模块
此模块应具有 shell 功能