【网络自动化】Python网络设备配置文件检索程序

本文介绍了一个Python程序,用于在网络设备配置备份中检索特定信息,如边缘端口启用状态。通过搜索'stp edged-port enable',程序将生成一个包含设备IP、名称和SSH配置的Excel表格。针对华为设备,配置以#开头,其他设备如Cisco可调整匹配符号。使用pandas和re模块进行操作,并提供了一种简化代码以提高执行速度的方法。
摘要由CSDN通过智能技术生成

用途说明:
用途:在配置备份中检索信息,比如想知道全网配置备份中哪些设备运行了边缘端口。输入stp edged-port enable,会生成一个设备信息.xlsx,信息包含:配置有stp edged-port enable命令的所有设备管理IP、设备名、ssh配置信息

注意:华为设备配置是根据#来区分一段配置,如果是其他设备比如Cisco可以把#替换成!
举例:
#
stack
#
license
#
interface Eth-Trunk5
port link-type trunk
undo port trunk allow-pass vlan 1
stp edged-port enable
#
搜索stp edged-port enable只会提取出#开始的内容:
#
interface Eth-Trunk5
port link-type trunk
undo port trunk allow-pass vlan 1
stp edged-port enable

模块安装:
pip install pandas
pip install re

脚本执行:输入配置备份文件夹所在的路径

#-*- coding:utf-8 -*-
# Author:Sheng Luhao
# ScriptName:  configuration_getV1.0.py
# Create Date: 2020-12-04 ‏‎18:03
#***************************************************************#

import pandas as pd
import os
import re
import sys

#-*- coding:utf-8 -*-
# Author:Sheng Luhao
# ScriptName:  configuration_getV1.0.py
# Create Date: 2020-12-04 ‏‎18:03
#***************************************************************#

if __name__ == '__main__':
    file_place = input('请输入配置备份的路径:')
    file_list_all = os.scandir(file_place)  # 遍历配置文件
    file_list = []
    for item in file_list_all:  # 检索设备,放进file_list中
        if re.search('.*\.txt',item.name):
            file_list.append(item.name)


    print(f'配置备份有{len(file_list)}个配置文件')
    find_info = input('输入需要搜索的内容:')

    '''定义管理IP、设备名、检索的内容'''
    glip = []
    device_name = []
    neirong = []

    for device in file_list:
        judge = False
        xinxi = ''

        with open(fr'configuration\{device}','r',encoding='utf8') as f:    #打开所有的华为设备配置文件
            xxx_before = ''
            xxx_after = ''
            info = f.readlines()
        for suoyin,line in enumerate(info):     #循环配置文件
            if find_info in line:   #检索信息
                judge = True        #这个judge为了防止glip、device_name重复添加进列表,单独拎出来
               
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值