Python telnetlib read_all挂起,直到超时

Python telnetlib read_all挂起,直到超时,python,telnet,telnetlib,Python,Telnet,Telnetlib,我有一些Python代码,通过telnet连接到OSPF守护进程(由Quagga运行),然后执行以下操作: tn.write("show ip ospf database router\n") tn.write("exit\n") my_text = tn.read_all() 当show ip ospf database router的输出很小时,脚本工作正常,但当它很大(约73kb)时,代码在read_all()调用中冻结,直到超时 我的问题是:为什么会发生这种情况?是否存在read_al

我有一些Python代码,通过telnet连接到OSPF守护进程(由Quagga运行),然后执行以下操作:

tn.write("show ip ospf database router\n")
tn.write("exit\n")
my_text = tn.read_all()
show ip ospf database router的输出很小时,脚本工作正常,但当它很大(约73kb)时,代码在read_all()调用中冻结,直到超时

我的问题是:为什么会发生这种情况?是否存在read_all可以处理的最大输出大小

我应该注意,如果我使用read\u very\u eager()而不是read\u all()的话,代码运行得很好

先谢谢你。
Santiago Vidal.

您可以通过以下行控制输出的大小:

               Telnet.set_debuglevel (debuglevel)
设置调试级别。debuglevel的值越高,得到的调试输出越多(在sys.stdout上)

例如:

tn.write("show ip ospf database router\n")
tn.write("exit\n")
my_text = tn.set_debuglevel(1000)
my_text = tn.read_all()