嗨,我是python新手,我正在尝试通过仅主机适配器将telenet连接到我的主机:
我的命令是
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>;显示版本'
您可以阅读telnetlib documentation中的所有
read_
方法并比较它们的输出。它指出,只有read_until()
会给你文本“直到一个给定的字节串”。所有其他的都只返回“所有数据,直到EOF”,“所有可以不阻塞I/O”,“随时可用的数据”等等也就是说,您应该使用
read_until()
来确保返回一个完整的字符串。这是唯一一个等待telnet返回整个文本的方法。在{a2中有一个类似的解释。在
相关问题 更多 >
编程相关推荐