我对python libary telnetlib有一些问题。登录起作用了。启用、?而退出是有效的。但是所有带空格的命令都不起作用。
import getpass
import sys
import telnetlib
HOST = "10.159.123.91"
user = "1234"
command = "show version"
tn = telnetlib.Telnet(HOST)
tn.read_until("Password: ")
tn.write(user + "\n")
tn.write("enable\n")
tn.write("5678\n")
tn.write("?\n")
tn.write("exit\n")
print tn.read_all()
tn.close()这个可以用了。如果我用tn.write("show version\n")替换tn.write("?\n"),什么也不会发生。有人知道我的问题出在哪里吗?
发布于 2018-06-21 16:45:03
我找到了一个解决方案。我不确定这是不是一个好的干净的解决方案。但它是有效的。我在命令后面添加了一个睡眠2秒。
import getpass
import sys
import time
import telnetlib
HOST = "10.159.123.91"
user = "1234"
command = "show version"
tn = telnetlib.Telnet(HOST)
tn.read_until("Password: ")
tn.write(user + "\n")
tn.write("enable\n")
tn.write("5678\n")
tn.write("show ip interface brief\n")
time.sleep(2)
tn.write("exit\n")
print tn.read_all()
tn.close()https://stackoverflow.com/questions/50962652
复制相似问题