Python telnetlib模块使用

telnetlib模块使用
1、telnet 登录设备
2、将输出的信息写到list里面
3、读取想要的值或接口属性

下面是读取接口的PVID

Python Code

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# @Time    : 2017/8/8 14:20
# @Author  : Shope
# @QQ       :215522879
# @My Blog : http://blog.sina.com.cn/u/2047118510
# @File    : test_telnet.py
# @Software: PyCharm

ResultLi=[]
ResultList=[]
k1,k2,k23,k3,k4,k5,k6,k7,k8,k9,k10,k11,k12,k13=0,0,0,0,0,0,0,0,0,0,0,0,0,0
ResultDic={ }
import telnetlib
import time
Host = '10.92.1.1'
Port = '10018'
finish = '# '
tn = telnetlib.Telnet(Host,Port)
tn.write('\n')
tn.read_until(finish)
tn.write('show interface ethernet brief\n')
# re =tn.read_all()
# print(type(re))
tn.read_until(' Description')
time.sleep(1)
result = tn.read_very_eager()
# print(result)
ResultLi = result.split('\r\r\n')
# print(resultLI)
for i in range(len(ResultLi)):
     if len(ResultLi[i].strip().split())==13:
         k1, k2, k3, k4, k5, k6, k7, k8, k9, k10, k11, k12, k13 =ResultLi[i].strip().split()
         ResultDic = {'Interface': k1, 'Phy_ability': k23, ' Admin-config': k4, 'Link-status': k5, 'Speed-config': k6,
                      'Speed-status': k7, 'MTU': k8, 'PVID': k9, 'Flow-control': k10, 'Join-LAG': k11, 'Media': k12,
                      'Description': k13}

         k23=str(k2)+str(k3)
     # print(ResultLi[i])
     elif len(ResultLi[i].strip().split())==12:
         k1, k23, k4, k5, k6, k7, k8, k9, k10, k11, k12, k13 = ResultLi[i].strip().split()
         ResultDic = {'Interface': k1, 'Phy_ability': k23, ' Admin-config': k4, 'Link-status': k5, 'Speed-config': k6,
                      'Speed-status': k7, 'MTU': k8, 'PVID': k9, 'Flow-control': k10, 'Join-LAG': k11, 'Media': k12,
                      'Description': k13}
     else:
         pass
     ResultList.append(ResultDic)
for i in range(1,len(ResultList)):
     print("接口%s:Pvid为%s" % (ResultList[i]['Interface'], ResultList[i]['PVID']))
     #print(ResultList[i])
     # print(ResultLi[i])
     # print(type(ResultLi[i]))
     # print(len(ResultLi[i].strip().split()))
#e.g
#print("\n接口%s:Pvid为%s"%(ResultList[20]['Interface'],ResultList[20]['PVID']))

tn.read_until(finish)
tn.close() # tn.write('exit\n')

输出所有接口的PVID值

接口1/1:Pvid为101
接口1/2:Pvid为102
接口1/3:Pvid为103
接口1/4:Pvid为104
接口1/5:Pvid为105
接口1/6:Pvid为106
接口1/7:Pvid为1
接口1/8:Pvid为1
接口1/9:Pvid为109
接口1/10:Pvid为110
接口1/11:Pvid为111
接口1/12:Pvid为112
接口1/13:Pvid为113
接口1/14:Pvid为114
接口1/15:Pvid为1
接口1/16:Pvid为1
接口1/17:Pvid为117
接口1/18:Pvid为118
接口1/19:Pvid为119
接口1/20:Pvid为120
接口1/21:Pvid为121
接口1/22:Pvid为122
接口1/23:Pvid为1
接口1/24:Pvid为1
接口1/25:Pvid为125
接口1/26:Pvid为126
接口1/27:Pvid为127
接口1/28:Pvid为128
接口1/29:Pvid为129
接口1/30:Pvid为130
接口1/31:Pvid为1
接口1/32:Pvid为1
接口1/33:Pvid为133
接口1/34:Pvid为134
接口1/35:Pvid为135
接口1/36:Pvid为136
接口1/37:Pvid为137
接口1/38:Pvid为138
接口1/39:Pvid为1
接口1/40:Pvid为1
接口1/41:Pvid为141
接口1/42:Pvid为142
接口1/43:Pvid为143
接口1/44:Pvid为144
接口1/45:Pvid为1
接口1/46:Pvid为1
接口1/47:Pvid为1
接口1/48:Pvid为1
接口1/49:Pvid为1
接口1/49.1:Pvid为1
接口1/49.2:Pvid为1
接口1/49.3:Pvid为1
接口1/50:Pvid为1
接口1/50.1:Pvid为1
接口1/50.2:Pvid为1
接口1/50.3:Pvid为1
接口1/51:Pvid为1
接口1/51.1:Pvid为1
接口1/51.2:Pvid为1
接口1/51.3:Pvid为1
接口1/52:Pvid为1
接口1/52.1:Pvid为1
接口1/52.2:Pvid为1
接口1/52.3:Pvid为1
接口1/52.3:Pvid为1

你可能感兴趣的:(Python telnetlib模块使用)