Уведомления

Группа в Telegram: @pythonsu

#1 Март 27, 2017 13:52:43

ainur.fa
Зарегистрирован: 2017-03-27
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

subprocess python работа с командной строкой

Доброго дня, задача следующая.
Есть некая утилита, пусть будет 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”)
То вывод печатается пока не упрется в “приглашение ввести данные” и висит бесконечно к следующей команде не переходит.
Прошу помощи, спасибо.

Офлайн

#2 Март 27, 2017 23:27:11

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

subprocess python работа с командной строкой

а p.stdin.flush() не поможет после write(…) ?



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version