首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python顺式解析找到关机接口和整个接口块吗?

Python顺式解析找到关机接口和整个接口块吗?
EN

Stack Overflow用户
提问于 2021-01-06 16:25:43
回答 1查看 430关注 0票数 0

下面的示例将使用从tutorial.html#slide3获取的配置

代码语言:javascript
复制
! filename:exampleswitch.conf
!
hostname ExampleSwitch
!
interface GigabitEthernet 1/1
 switchport mode trunk
 shutdown
!
interface GigabitEthernet 1/2
 switchport mode access
 switchport access vlan 20
 switchport nonegotiate
 no cdp enable
!
interface GigabitEthernet 1/3
 no switchport
 ip address 192.0.2.1 255.255.255.0

这是来自tutorial.html#slide7的代码

代码语言:javascript
复制
from ciscoconfparse import CiscoConfParse

parse = CiscoConfParse('exampleswitch.conf', syntax='ios')

for intf_obj in parse.find_objects_w_child('^interface', '^\s+shutdown'):
    print("Shutdown: " + intf_obj.text)

输出

代码语言:javascript
复制
$ python script.py 
Shutdown: interface GigabitEthernet 1/1
$ 

代码运行得很好。但是,不只是显示Shutdown: interface GigabitEthernet 1/1,是否可以在输出中显示整个interface GigabitEthernet 1/1块,即:

代码语言:javascript
复制
interface GigabitEthernet 1/1
 switchport mode trunk
 shutdown
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-01-08 09:54:47

我想你要找的是find_blocks

find_blocks(linespec,exactmatch=False,ignore_ws=False)。找到所有的兄弟姐妹匹配线,然后找到这些兄弟姐妹的所有父母。返回按行号排序的配置行列表,最低优先

看看Ciscoconfparse文档,其中包括一个示例。

所以我想它看起来会是这样的:

代码语言:javascript
复制
from ciscoconfparse import CiscoConfParse

parse = CiscoConfParse('exampleswitch.conf', syntax='ios')

for intf_obj in parse.find_blocks(r'^\sshutdown'):
      print(intf_obj)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65599519

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档