python - 如何在 Python 子进程中模拟按键?

标签 python shell subprocess

场景是,我有一个 Python 脚本,它的一部分是使用以下代码执行外部程序:
subprocess.run(["someExternalProgram", "some options"], shell=True)
当外部程序完成时,它要求用户“按任意键退出”。

由于这只是我脚本中的一个步骤,因此我最好代表用户退出。

是否有可能实现这一目标,如果有,如何实现?

最佳答案

from subprocess import Popen, PIPE

p = Popen(["someExternalProgram", "some options"], stdin=PIPE, shell=True)
p.communicate(input=b'\n')

如果要捕获输出和错误日志
from subprocess import Popen, PIPE

p = Popen(["someExternalProgram", "some options"], stdin=PIPE, stdout=PIPE, stderr=PIPE shell=True)
output, error = p.communicate(input=b'\n')

关于python - 如何在 Python 子进程中模拟按键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60502312/

相关文章:

linux - Eclipse 在预构建中定义构建变量

linux - 如何在脚本中使用定界符来避免数字和特殊字符

python - 使用 python 断开 WiFi 连接 (Windows)

android - Ubuntu 13.04 上的 repo init UnicodeDecodeError

python - 如何清理这张图片(opencv-python)?

python - 如何通过本地主机使用多播限制流量

bash - 如何从 shell 确定 CSV 中的字段数?

python - 从 python 脚本以 super 用户身份运行命令

python - subprocess.Popen 在 Windows 中工作但在 Ubuntu 中不工作

python - 如何仅重试函数中产生错误的行