You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将CLI命令输出加载到Cisco Genie/pyATS解析器中

Genie离线解析CLI输出方案

完全支持直接传入已收集的CLI输出字符串进行解析,无需建立设备SSH连接,操作步骤如下:

操作步骤

  1. 确认待解析设备的OS类型(如IOS、IOSXE、NX-OS、IOSXR等)和对应命令,有两种调用解析器的方式:

方式1:直接导入对应解析器

以IOSXE设备的show version命令为例,代码示例如下:

# 导入对应OS、对应命令的解析器
from genie.libs.parser.iosxe.show_version import ShowVersion

# 读取客户提供的CLI输出字符串,此处cli_output为你提取到的原始命令输出
with open("客户提供的show_version.log", "r", encoding="utf-8") as f:
    cli_output = f.read()

# 实例化解析器,device参数传None即可,无需关联真实设备
parser = ShowVersion(device=None)
# 传入原始输出进行解析,得到结构化结果
parsed_result = parser.parse(output=cli_output)

方式2:动态获取解析器(适合批量处理场景)

如果需要批量处理多OS、多命令的场景,可以用通用的get_parser方法动态加载解析器:

from genie.libs.parser.utils import get_parser

# 按需指定命令和对应设备OS,自动获取对应解析器
parser = get_parser("show version", "iosxe")
# 传入原始CLI输出即可解析
parsed_result = parser.parse(output=cli_output)

注意事项

  • 导入解析器时需和设备OS、要解析的命令完全匹配,不同OS的同命令解析器相互独立,例如IOS的show version解析器路径为genie.libs.parser.ios.show_version.ShowVersion,NX-OS对应路径为genie.libs.parser.nxos.show_version.ShowVersion,不可混用。
  • 传入的CLI输出需要保留原始格式,不要随意删减空行、命令提示符等内容,否则可能触发解析异常。
  • 解析后的返回结果和通过SSH连接调用device.parse()得到的结构化数据格式完全一致,无需修改后续处理逻辑。

内容的提问来源于stack exchange,提问作者Michael

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.09 07:30:03