pexpect并发送"输入密钥"问题

时间:2015-03-23 18:25:33

标签: python python-2.7 pexpect

我正在使用pexpect和python 2.7。我目前正在编写一个脚本来登录跳转服务器,然后登录到一些cisco设备以自动方式执行某些操作。

在登录过程中有一个阶段,我需要通过按键盘上的“Enter / Return”发送一个空白行。在阅读了许多帖子和其他论坛后,我尝试了以下内容:

<handler>.sendline()
<handler>.sendline('')
<handler>.send('\013')

然而,这些似乎都不适合我。当我手动登录到服务器并尝试按Enter / Return时,我在屏幕上看到“C”并且登录过程继续进行。

我不确定“C”是什么意思,但如果有人可以提供帮助或提供一些见解,那将非常有帮助。

2 个答案:

答案 0 :(得分:0)

.sendline()相当于.sendline(''),相当于.send('') + .send(self.linesep),可能与.send('\n')具有相同的效果('\n' == '\012''\r' == '\015' )。您也可以尝试.send('\r\n')(我不确定谁负责终端线路规则)。

答案 1 :(得分:0)

sendline()应该可行。 您可以参考pexpect中pxssh的实现。 https://github.com/pexpect/pexpect/blob/master/pexpect/pxssh.py