Форум сайта python.su
Доброго дня, задача следующая.
Есть некая утилита, пусть будет test.exe
При ее запуске(cmd) утилита выдает некий текст (их нужно отловить), и ждет ввода данных от пользователя.
После того как будет введены данные + enter выдается следующая порция текста которые тоже необходимо отловить и сохранить.
Пробую реализовать эти действия через python + subprocess
запускаю утилиту
import subprocess
p=subprocess.Popen(“test.exe”, stdin =subprocess.PIPE, stdout =subprocess.PIPE, stderr =subprocess.PIPE )
теперь нужно отловить первую порцию текста и ввести данные.
Если делаю так
out = “ ”
while out:
out = p.stdout.readline()
print(out)
p.stdin.write(“текст от пользователя \n”)
То вывод печатается пока не упрется в “приглашение ввести данные” и висит бесконечно к следующей команде не переходит.
Прошу помощи, спасибо.
Офлайн
а p.stdin.flush() не поможет после write(…) ?
Офлайн