我想做的是增量使用pexpect打印python REPL的每一行。我知道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提示符(>>>)或其他任何内容。如果还有其他需要打印的内容,可以在流中找到,如果出现提示,请中断循环。问题除了提示,我什么都没打过。