考虑一个类似的命令
yum install boto
当我在terminal执行,进行是要求我是/否
我可以用python来回应吗?
os.system("yum install boto")
下一步"Yes"
将通过相同的Python代码传递给terminal,以便安装。 那么,我不认为这个工程。 如果是在上面声明之后写的
os.system("yes")
请告诉我这是可能的吗?
你可以使用subprocess.Popen并写入标准输入,你需要-S
标志为sudo,然后是其余的命令。
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"))
你可以添加一个管道,然后做
yes | os.system("yum install boto")
它会重复是,直到命令完成