Как дождаться появления подсказки при использовании интерактивного метода ‘subprocess’?

#python #python-2.7

#python #python-2.7

Вопрос:

Я использую приведенный ниже код для обработки пользовательских интерактивных команд. Означает, что когда я ввожу команду «command x», мне нужно ввести / ввести ‘test123’ при появлении запроса.

Код Python:

 import subprocess
p=subprocess.Popen("C:testcommand x",
    stdin=subprocess.PIPE,
    stdout=subprocess.PIPE,
    stderr=subprocess.PIPE,
    universal_newlines=True)
p.stdin.write("test123")
result_first_line=p.stdout.readline()
  

Теперь проблема в том, что когда я ввожу ‘command x’, ожидаемое приглашение приходит через 10-15 секунд.

Можно ли вставить sleep для ожидания запроса в этом коде?

Комментарии:

1. Вы хотите ждать появления запроса даже дольше, чем 10-15 секунд?

2. @martineau Иногда ДА. Примерно мне нужно подождать 10-15 секунд, чтобы получить запрос.

3. Извините, думаю, я не понимаю вашего вопроса. Похоже, вы могли бы просто поспать 10-15 секунд после запуска другого процесса, прежде чем делать что-либо еще. Что происходит сейчас и когда / где именно вы хотите, чтобы произошел спящий режим?