Что я хотел бы сделать, это напечатать каждую новую строку python REPL с использованием pexpect с приращением. Я знаю, что replwrap существует, но для моего личного понимания pexpect я пробую этот проект. Идея моего кода выглядит следующим образом:
import pexpect
child = pexpect.spawn('/usr/bin/python')
child.expect('>>>')
child.sendline('import time')
child.expect('>>>')
child.sendline('for i in range(10): print(i);time.sleep(1)')
child.sendline('')
while True:
match = child.expect(['>>>', '.*'])
if match == 2:
print(child.before)
else:
break
Моя главная проблема здесь ['>>>', '. *']. Я пытаюсь найти в потоке приглашение python (>>>) или что-то еще. Если что-то еще приходит, я хочу напечатать, я нахожу в потоке, и если появляется подсказка, прервите l oop. Проблема: я никогда не нажимал ничего, кроме подсказки.