【发布时间】:2020-04-25 14:38:47
【问题描述】:
我已经编写了代码来获取过时的 python 模块列表,我想全部升级。为此,我需要管理权限。看看下面的代码。
import sys
from subprocess import Popen,PIPE
process=Popen("pip list --outdated",stdout=PIPE,stdin=PIPE,shell=True,bufsize=1)
data = process.stdout.readlines()
for i in range(2,len(data)):
temp=data[i].decode("utf-8").split(' ')
print(temp[0])
command="runas /user:administrator 'pip install {0} --upgrade'".format(temp[0])
print(command)
process=Popen(command,stdout=PIPE,stdin=PIPE,shell=True,bufsize=1)
process.stdin.write("password".encode("utf-8"))
print(process.stdout.readlines())
输出不如预期。
密码是正确的,但我不知道为什么它没有运行。
【问题讨论】:
-
哪个 Windows 版本?我会省略所有
runas …和password的东西在脚本中 并运行使用runas /user:administrator "python \"temp.py\""提升的整个脚本。 -
我使用的是 Windows 10