2016-07-01 75 views
0

我正在研究使用python的telnetlib连接到路由器并执行命令并将输出存储在文件中的代码。我使用read_until('#')函数并期待Router提示符,然后执行下一个命令,但是当我从远程telnet端收到'--More--'数据时,我的代码冻结了。我尝试使用模式匹配来查找'--More--',但之后有时候--More--关键字不会立即显示。通过telnet访问路由器lib python

有什么建议吗?

我需要发送一些IAC命令到远程telnet端吗?

回答

0

的某个关键字 - 更多 - 不来一次

尝试传递一个超时。

实施例:设定超时时间为5秒read_until()

read_until('--More--', 5) 

或者,可以使用expect()函数来寻找任一“#”或“更多 - ”以超时:

expect(['#', '--More--'], 5) 
+0

我已经完成了他们两个,但他们不工作。它根本没有检测到这个词。它只是在那里冻结。 – user3143451

+0

你确定' - 更多 - '在那里吗?尝试使用read_very_eager()代替read_until('--More--'),看看它在那里。 – victor

+0

我启用了调试模式,我看到了这个词...它在那里 – user3143451

相关问题