Sai*_*tha 1 python linux os.system python-2.7
考虑一个类似的命令
yum install boto
Run Code Online (Sandbox Code Playgroud)
当我在终端中执行时,继续进行是要我是/否
我可以在python中回应吗
os.system("yum install boto")
Run Code Online (Sandbox Code Playgroud)
接下来"Yes" 将通过相同的python代码传递到终端,以便安装。好吧,我认为这行不通。如果是在上述声明之后写成的
os.system("yes")
Run Code Online (Sandbox Code Playgroud)
请告诉我是否可行?
您可以使用subprocess.Popen并写入stdin,您需要-Ssudo 的标志,然后是其余命令。
from subprocess import Popen, PIPE
import getpass
pwd = getpass.getpass()
proc = Popen(['sudo', '-S', rest of commands ],stdout=PIPE, stdin=PIPE, stderr=PIPE,universal_newlines=True)
proc.stdin.write("{}\n".format(pwd))
out,err = proc.communicate(input="{}\n".format("yes"))
Run Code Online (Sandbox Code Playgroud)