为什么它不能正常运行?

时间:2020-04-25 14:38:47

标签: python cmd window

我已经编写了代码来获取过时的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())

输出与预期不符。

Unexpected output is here.

密码是正确的,但我不知道为什么它没有运行。

1 个答案:

答案 0 :(得分:0)

这对我有用。 (Windows 10)

import win32com.client
import sys
import sys
from subprocess import Popen,PIPE,call
import time

shell = win32com.client.Dispatch("WScript.Shell")
# shell.AppActivate("Outlook")
shell.SendKeys('runas /user:administrator "pip install pip --upgrade"{ENTER}')
shell.SendKeys("password{ENTER}")
print(shell)
shell.SendKeys('runas /user:administrator "pip install pygame"{ENTER}')
shell.SendKeys("passsword{ENTER}")