Python:Telnetlib仅命令不带空格

时间:2018-06-21 07:21:42

标签: python telnetlib

我在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”),则什么也不会发生。 有谁知道我的问题在哪里?

1 个答案:

答案 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()