嗨,我是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>显示版本'
答案 0 :(得分:0)
您可以阅读telnetlib documentation中的所有read_
方法,并比较它们的输出。它在那里指出,只有read_until()
会给你文本"直到给定的字节串"。所有其他的只返回"所有数据直到EOF","所有数据都可以在I / O","随时可用的数据中无阻塞。"等
也就是说,您应该使用read_until()
来确保返回完整的字符串。这是等待telnet返回整个文本的唯一方法。
在类似问题中可以找到here的其他说明。