我想自动升级程序。
我在Python中运行以下代码:
import subprocess subprocess.call('./upgrade')
当我这样做时,我从外壳程序获得升级程序已成功启动的输出,然后得到“按Enter继续”。我将如何自动执行此过程,以便在提示时python脚本自动“按”回车?我需要在程序执行两次。我需要在Linux而不是Windows上完成此操作,因为在这里它被询问: 生成键盘事件 另外,这需要在Shell提示输入Enter之后专门完成。谢谢你的帮助。我在这里找不到解决方案: 按Enter作为命令输入
您可以使用subprocess.Popen和subprocess.communicate将输入发送到另一个程序。
subprocess.Popen
subprocess.communicate
例如,将“ enter”键发送到以下程序test_enter.py:
test_enter.py
print "press enter..." raw_input() print "yay!"
您可以执行以下操作:
from subprocess import Popen, PIPE p = Popen(['python test_enter.py'], stdin=PIPE, shell=True) p.communicate(input='\n')
您可能还会发现“如何编写python子进程的stdin”的答案也很有帮助。