python-2.7 - telnetlib python read_all() 不工作(挂起)

标签 python-2.7 telnetlib cisco-ios

我正在尝试使用 telnetlib 从 cisco 路由器读取数据

import telnetlib
tn = telnetlib.Telnet(’10.106.218.50’, 17280)
cmd1=”enable”
cmd2=”show run”
#session.write("command".encode('ascii') + b"\r")
tn.write(cmd1.encode('ascii') + b"\r")
tn.write(cmd2.encode('ascii') + b"\r")
#op=tn.read_very_eager()
#op=tn.read_some()
#op=tn.read_until('#')
op=tn.read_all()
print op

我能够成功地写入路由器的控制台 然而,当我尝试从路由器的控制台读取时,系统只是挂起。 当我使用 read_some() 时,我得到了一部分输出。但是 read_all() 只是挂起并且没有给出任何响应 请提出解决方案

最佳答案

read_all()

如果在建立连接时没有指定超时,python 的 telnetlib 模块中的命令将被阻止。

你的调用命令应该是这样的

tn = telnetlib.Telnet('10.106.218.50', 17280, timeout = 1)

您也可以替换您自己的超时值。

关于python-2.7 - telnetlib python read_all() 不工作(挂起),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26289641/

相关文章:

python3 telnet socket.gaierror : [Errno 8] nodename nor servname provided, 或未知

python - 使用Python telnet lib w/o logout命令

python - 如何将 Cisco IOS 输出解析为对象或 JSON

python - 如何描述 EBNF 中的作用域?

python - 在 Cython 中实现周期性边界条件的 2D 拉普拉斯算子

python-2.7 - 我怎么知道在redis pub-sub中排队的消息数?

Python telnetlib read_all 挂起直到超时

XML 验证 没有匹配的全局声明可用于验证根

python-2.7 - Keras 卷积形状的尺寸无序(检查模型输入时出错)

python - 使用带有 Initializer 的对象方法(同一行)