【问题标题】:Reading output with telnetlib for each command使用 telnetlib 读取每个命令的输出
【发布时间】:2019-09-06 14:03:30
【问题描述】:

我正在使用 Python 的 telnetlib 远程登录到网络路由器并执行一些命令,我​​想获得这些命令的输出。

tn   =   telnetlib . Telnet ( "x.x.x.x", 23, 600 ) 
tn.expect([b"login as:"], 5)
tn.write(b'admin\r')
tn.expect([b"Password:"], 5)
tn.write(b"abc\r")
tn.write(b"show version\r")
time.sleep(3)
ret1 = tn.read_eager().decode('ascii')
print("Show Version Start \n")
print(repr(ret1))
print("\nShow Version End")
tn.write(b"exit\r")
print(tn.read_all().decode('ascii'))
tn.close()

我只想要显示版本的输出,但它显示所有输出,有没有办法只获得最后执行的命令的输出??

【问题讨论】:

    标签: python telnet telnetlib


    【解决方案1】:

    有趣的是,我也在做同样的工作,我已经找到了解决方案,请查看此链接https://coderwall.com/p/0uxfba/read-stdout-from-telnet-terminal-in-python

    如果您在调用 getMoreData 之前清空 your_class.data,您将始终将最后一个命令输出保存到数据列表中,然后您可以将其打印出来。

    希望对你有帮助

    【讨论】:

      猜你喜欢
      • 2012-04-24
      • 1970-01-01
      • 1970-01-01
      • 2014-09-22
      • 2023-04-02
      • 1970-01-01
      • 2012-11-11
      • 2013-12-28
      • 1970-01-01
      相关资源
      最近更新 更多