В следующих примерах будет использоваться эта конфигурация, взятая из http://pennington.net/tutorial/ciscocon ... tml#slide3
! 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
Это код, который также взят из http://pennington.net/tutorial/ciscocon ... tml#slide7
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)
Вывод
$ python script.py
Shutdown: interface GigabitEthernet 1/1
$
Код работает нормально. Но вместо того, чтобы просто отображать Shutdown: интерфейс GigabitEthernet 1/1, можно ли будет отобразить весь блок интерфейса GigabitEthernet 1/1 в выходных данных, а именно:
interface GigabitEthernet 1/1
switchport mode trunk
shutdown
Подробнее здесь: https://stackoverflow.com/questions/655 ... face-block