Как я могу имитировать нажатие клавиши в подпроцессе Python? - PullRequest
2 голосов
/ 03 марта 2020

Сценарий таков: у меня есть сценарий Python, часть которого предназначена для выполнения внешней программы с использованием приведенного ниже кода:

subprocess.run(["someExternalProgram", "some options"], shell=True)

И после завершения внешней программы , требуется, чтобы пользователь «нажал любую клавишу для выхода».

Так как это всего лишь шаг в моем сценарии, было бы хорошо, чтобы я просто вышел от имени пользователя.

Можно ли этого добиться и если да, то как?

1 Ответ

2 голосов
/ 03 марта 2020
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')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...