考虑像
这样的命令yum install boto
当我在终端中执行时,要继续,会询问我是/否
我可以用Python来回应它吗
os.system("yum install boto")
Next
"Yes"
将通过相同的 python 代码传递到终端以便安装。嗯,我认为这不起作用。如果是写在上面的语句之后
os.system("yes")
请告诉我这是否可行?
您可以使用 subprocess.Popen 并写入标准输入,您需要 sudo 的
-S
标志,然后只需其余命令。
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"))
您可以添加管道并执行
os.system("yes | yum install boto")
它会重复 yes 直到命令完成