Python3打印输出的某些行

时间:2018-09-13 19:37:09

标签: python python-3.x telnetlib

抱歉Noob Python3问题。

我正在学习基础知识并取得了一些成功,但是我坚持以下内容。

在示例脚本中,我可以在4个测试设备上运行整个脚本,它可以正常工作,并且可以看到输出。

但是,我想做的只是看到以下两个命令的输出:

tn.write(b“显示ip int简介\ n”)和

tn.write(b“显示运行|以用户名\ n”)

例如,如果未在设备上配置环回,则输出显示一些“错误”。在这种情况下,我不在乎,我尝试了read_eager,read_lazy等。。。我确定这些是我需要使用的选项,但是除了打印整个输出,我没有成功。

在此先感谢您,我将非常感谢在此问题上有更多经验的人为我指出正确的方向。

import getpass
import telnetlib

user = input("Please enter your telnet username: ")
password = getpass.getpass()

f = open ('myrouters')

for IP in f:
    IP=IP.strip()
    HOST = IP
    tn = telnetlib.Telnet(HOST)
    tn.read_until(b"Username: ")
    tn.write(user.encode('ascii') + b"\n")
    if password:
        tn.read_until(b"Password: ")
        tn.write(password.encode('ascii') + b"\n")
        tn.write(b"enable\n")
        tn.write(b"cisco\n")
        tn.write(b"term len 0\n")
        tn.write(b"show ip int brief\n")
        tn.write(b"\n")
        tn.write(b"show run | in username\n")
        tn.write(b"term len 24\n")
        tn.write(b"conf t\n")
        for n in range (0,10):
            tn.write (b'no int loop ' + str(n).encode('ascii') + b'\n')
        tn.write(b"exit\n")
        tn.write(b"\n")
        tn.write(b"copy run start\n")
        tn.write(b"\n")
        tn.write(b"exit\n")
        print (tn.read_all().decode('ascii'))

0 个答案:

没有答案