Команда ожидает ввода пользователя, подпроцесс - PullRequest
0 голосов
/ 25 мая 2018

У меня есть проблема, которую я не могу решить, когда использую модуль subprocess в Python.

Когда я выполняю команду в командной строке cmd, выполнение приостанавливается, пока пользователь не выдаствведите вопрос (например, пароль).Проблема в том, что вопрос может варьироваться в зависимости от настроек пользователя для программного обеспечения.Вопрос может быть для имени пользователя первым, а затем вторым вопросом может быть пароль или вопрос может быть сразу для пароля.Если бы я знал, что вопрос всегда был о пароле, я мог бы сразу сделать stndin, и программа продолжится.Но это не тот случай.Итак, вот мой вопрос

Когда я порождаю процесс с использованием subprocess.Popen(my_command, stdin=subprocess.PIPE, stdout=subprocess.PIPE), процесс ожидает ввода пользователя.Как я могу получить вопрос, который задает процесс, чтобы через Python я мог получить пользовательский ввод и передать его процессу.

Заранее спасибо

1 Ответ

0 голосов
/ 25 мая 2018

Используйте метод связи .

out, err = process.communicate()
print out  # The question is here

out, err = process.communicate("my answers")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...