Python 使用pexpect执行交互()时使用双字符
我正在使用Pexpect进行测试Python 使用pexpect执行交互()时使用双字符,python,pexpect,Python,Pexpect,我正在使用Pexpect进行测试 w1 = pexpect.spawn('telnet XXXX') # or w1 = pxssh.pxssh() # both with w1.logfile_read =sys.stdout 它运行良好;但是,如果我在某个时候这样做: w1.interact() 然后试着在屏幕上写些东西,我得到了两个字符。 例如,如果我键入:rmdir它将是rrmmddirr 我怎样才能拥有一个字符?interact()将负责为您回音,因此您需要这样做: w1.lo
w1 = pexpect.spawn('telnet XXXX')
# or
w1 = pxssh.pxssh()
# both with
w1.logfile_read =sys.stdout
它运行良好;但是,如果我在某个时候这样做:
w1.interact()
然后试着在屏幕上写些东西,我得到了两个字符。
例如,如果我键入:rmdir
它将是rrmmddirr
我怎样才能拥有一个字符?interact()
将负责为您回音,因此您需要这样做:
w1.logfile_read = None
w1.interact()
根据pexpect:
这使交互用户(键盘上的人)可以控制子进程。击键被发送到子进程,并打印子进程的stdout和stderr输出。这只是将子stdout和子stderr回显到真正的stdout,并将真正的stdin回显到子stdin。[……] 如果指定了日志文件,则在交互模式下从子进程发送和接收的数据将复制到给定日志。交互(转义字符='\x1d',输入过滤器=无,输出过滤器=无)
它起作用了。谢谢