我在python库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(“?\ n”)替换为tn.write(“ show version \ n”),则什么也不会发生。 有谁知道我的问题在哪里?
答案 0 :(得分:0)
我找到了解决方案。我不确定这是否是一个好的干净的解决方案。但这有效。我在命令后面添加了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()