基于textfsm解析命令结果并保存到excel

type
status
date
slug
summary
tags
category
icon
password
网络工程师自动化运维入门教程(原创)
读取excel中的交换机信息,通过netmiko获取show version的结果,并通过textfsm进行解析。结果格式化为字典组成的列表,然后保存到excel中

实战脚本

逻辑流程图

python概念解释

  • 交换机上命令的结果格式并不规范,很难直接提取出有效数据,此时我们就需要对结果基于模板文件进行解析,这种解析方式可以称之为textfsm
  • netmiko自带的textfsm解析有点bug,建议安装ntc-templates模块,将模块对应路径下的ntc_templates文件夹拷贝到脚本路径,后续有其他要用的模板,或者个人需要修改的话均可以在这个路径下操作
  • 读取excel中用于SSH的交换机信息后,通过拼接路径的方式定义模板文件的全路径,后续有不同文件路径需求时可以参考这个用法
  • 在通过netmiko获取到命令结果后,可以直接使用file_template_analyze(这个函数也很适合重复使用),基于模板文件对结果进行解析,解析的结果通常都是列表
  • 接下来我们提取解析结果中的部分数据,和本身已知的IP地址信息,汇总为一个字典组成的列表。
  • 在保存结果到excel这里,我们只保留了write_excel函数最基础的功能,并加入了当前日期。
  • 我们可以在这个脚本的基础上,改变命令和所用的模板,即可形成各种想要的数据汇总表,很实用
Prev
读取excel数据并对多台交换机进行配置备份
Next
基于paramiko获取单台交换机信息
Loading...