我想自动升级程序.
我用Python运行这段代码:
import subprocess
subprocess.call('./upgrade')
Run Code Online (Sandbox Code Playgroud)
当我这样做时,我从shell获得升级程序成功启动的输出,然后我得到'按Enter继续'.我如何自动化这个过程,以便python脚本在发布时自动"按下"输入?我需要在手术过程中做两次.我需要在Linux上完成此操作,而不是Windows,因为它在这里被要求: 生成键盘事件 此外,这需要在Shell提示输入后专门完成.谢谢你的帮助.我在这里找不到解决方案: 按enter键作为命令输入
Jul*_*arz 13
您可以使用subprocess.Popen和subprocess.communicate将输入发送到另一个程序.
例如,要将"enter"键发送到以下程序test_enter.py:
print "press enter..."
raw_input()
print "yay!"
Run Code Online (Sandbox Code Playgroud)
您可以执行以下操作:
from subprocess import Popen, PIPE
p = Popen(['python test_enter.py'], stdin=PIPE, shell=True)
p.communicate(input='\n')
Run Code Online (Sandbox Code Playgroud)
您可能会发现"我如何写入python子进程'stdin"的答案也很有帮助.
| 归档时间: |
|
| 查看次数: |
17002 次 |
| 最近记录: |