LINUX.ORG.RU

Получить вывод после отправки символа с помощью pexpect

 ,


0

1

Написал скрипт с помощью pexpect для автоматизации работы с консольной программой. Но я не могу разобраться как мне получить результат на экран после выполнения команды

child.sendline("foo")
Я знаю как сохранить все что происходит, но не знаю как мне получить вывод только после выполнения одной команды. Подскажите пожалуйста как мне это сделать.

★★★

Последнее исправление: amazpyel (всего исправлений: 1)

Точно не помню про expect но чтобы получать выхлоп там надо было делать что-то типа echo on и echo off

Siado ★★★★★
()
Ответ на: комментарий от kto_tama
answer = Popen(child.sendline('75'), shell=True, stdout=PIPE).communicate()[0]
print answer

Результат:

Traceback (most recent call last):
  File "/home/amazpyel/autotest/test.py", line 85, in <module>
    answer = Popen(child.sendline('75'), shell=True, stdout=PIPE).communicate()[0]
  File "/usr/lib/python2.7/subprocess.py", line 679, in __init__
    errread, errwrite)
  File "/usr/lib/python2.7/subprocess.py", line 1122, in _execute_child
    args = list(args)
TypeError: 'int' object is not iterable

Process finished with exit code 1

amazpyel ★★★
() автор топика
Последнее исправление: amazpyel (всего исправлений: 1)

Вопрос к ТС: а в остальном pexpect нормально работает? Просто мне пришлось на коленке накатать аналог ибо не смог преодолеть какое-какие критические проблемы при работе с pexpect... Может просто я не умею его готовить.

I-Love-Microsoft ★★★★★
()
Ответ на: комментарий от I-Love-Microsoft

Я с ним познакомился только два дня назад. Пока он меня устраивает для моих задач. Мне нужно распарсить вывод интерактивной консольной программы.

amazpyel ★★★
() автор топика
Последнее исправление: amazpyel (всего исправлений: 1)
Ответ на: комментарий от I-Love-Microsoft

Не знаю, ничего не могу сказать ¯ \ _ (ツ) _ / ¯

amazpyel ★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.