【问题标题】:Python telnetlib read_all hangs until timeoutPython telnetlib read_all 挂起直到超时
【发布时间】:2016-07-27 15:31:00
【问题描述】:

我有一些 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_very_eager() 而不是 read_all() 代码可以正常工作。

提前谢谢你。 圣地亚哥·维达尔。

【问题讨论】:

    标签: python telnet telnetlib


    【解决方案1】:

    您可以使用以下行控制输出的大小:

                   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()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-12
      • 2019-05-21
      • 2011-12-31
      • 1970-01-01
      • 2017-01-23
      • 2013-03-17
      • 2014-01-04
      • 2021-12-11
      相关资源
      最近更新 更多