在Shell上提示时如何使python脚本按'enter'

我想自动升级程序。

我在Python中运行以下代码:

import subprocess

subprocess.call('./upgrade')

当我这样做时,我从外壳程序获得升级程序已成功启动的输出,然后得到“按Enter继续”。我将如何自动执行此过程,以便在提示时python脚本自动“按”回车?我需要在程序执行两次。我需要在Linux而不是Windows上完成此操作,因为在这里它被询问:

生成键盘事件 另外,这需要在Shell提示输入Enter之后专门完成。谢谢你的帮助。我在这里找不到解决方案:

按Enter作为命令输入

回答:

您可以使用subprocess.Popensubprocess.communicate将输入发送到另一个程序。

例如,将“ enter”键发送到以下程序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”的答案也很有帮助。

以上是 在Shell上提示时如何使python脚本按'enter' 的全部内容, 来源链接: utcz.com/qa/429636.html

回到顶部