我可以在单个 Cisco IOS 配置文件中使用两个 ciscoconfparse 对象来获取特定接口吗

Can I use two ciscoconfparse objects in a single Cisco IOS config file to get specific interfaces

Trying to use two of the conf objects find_objects_w_child & find_objects_wo_child in a single file.

我需要从配置了特定 QoS "service-policy" 命令的 Cisco 配置文件中找出 "interfaces"。

同时不应该是任何以太通道的一部分。

是否可以在同一个配置文件中使用这两个对象?

CiscoConfParse 对象不提供允许您查找具有特定子项但没有其他特定子项的对象的方法。然而,我们可以利用列表理解来完成与 IOSCfgLine 对象的 re_search_children() 方法相同的任务,如下所示:

from ciscoconfparse import CiscoConfParse

parse = CiscoConfParse("ios_cfg.txt")
phys_intfs_w_qos = [obj for obj in parse.find_objects_wo_child(r"^interface", "channel-group") if obj.re_search_children(r"service-policy")]

因为正则表达式对象是 ,上面的列表理解将仅 return IOSCfgLine 对象表示没有 channel-group 配置但确实有 service-policy 配置的接口.