我有一个脚本,我在其中使用 pexpect 创建一个 spawn 对象。
代码如下所示:
self.rshcmd='rsh 192.X.X.X'
self.pipe1 = pexpect.spawn(command=self.rshcmd, logfile=sys.stdout,maxread=512)
现在,在我进入这个之后,我期望得到的提示是>
现在我通过发送su
然后给出密码成为su。现在我的提示按预期变为#
我有一个连接到这台生成的 PC (192.XXX) 的路由器,它是192.168.1.1
我通过发送 telnet 进入这个路由器telnet 192.168.1.1
。从这个路由器完成后,我想退出 telnet 会话。
所以我发送exit
并期待,#
因为我会回到生成的 PC 的根目录。但我看到的是,我实际上得到<
了提示。
所以它以某种方式发送“退出”两次。一个将我从 telnet 中取出,另一个将我从 root 中取出。我认为管道没有被冲洗掉,我们让他发送了一些旧的堆叠命令。
有没有办法可以清除管道中的所有旧命令?
从文档中有一个刷新功能,但它似乎什么都不做:
flush(self)
This does nothing. It is here to support the interface for a
File-like object.