使用Python进行Telnet

时间:2017-03-28 19:04:07

标签: python telnet

嗨,我是python的新手,我正试图通过仅限主机的适配器远程连接到我的主机:

我的命令是

  import telnetlib
import time


def call_func():
    time1 = 2
    connect = telnetlib.Telnet('192.168.1.100',23,3)
    connect.write('show version'.encode('ascii'))
    time.sleep(time1)
    print (connect.read_very_eager().decode('ascii'))
    connect.close()


call_func()

但是我无法读取show version命令的完整输出。有人可以解释为什么我无法这样做吗?

输出得到: ' R1>显示版本'

1 个答案:

答案 0 :(得分:0)

您可以阅读telnetlib documentation中的所有read_方法,并比较它们的输出。它在那里指出,只有read_until()会给你文本"直到给定的字节串"。所有其他的只返回"所有数据直到EOF","所有数据都可以在I / O","随时可用的数据中无阻塞。"等

也就是说,您应该使用read_until()来确保返回完整的字符串。这是等待telnet返回整个文本的唯一方法。

在类似问题中可以找到here的其他说明。