Я пытался написать скрипт на Python, чтобы пройти через некоторые конфигурации Cisco.
Пока что у меня есть скрипт для работы с одним конфигом, и он анализирует интерфейсы, которые не имеют 802.1x authentication*
интерфейсных команд.
У меня проблемы с удалением interface Tengig
и interface vlan*
из списка. Каков наилучший способ сделать это? Я попробовал следующие способы без удачи. Может я просто неправильно их использую?
list.remove(Interface Vlan*)
for item in list(NoDot1x):
somelist.remove("Interface Vlan*")
Код:
#Int Modules
from ciscoconfparse import CiscoConfParse
#Define what to Parse
parse = CiscoConfParse("/home/jbowers/Configs/SwithConfig")
#Define all Interfaces without Authentication * commands
all_intfs = parse.find_objects(r"^interf")
NoDot1x = list()
NoDot1x = parse.find_objects_wo_child(r'^interface', r'authentication')
#Display Results
for obj in NoDot1x:
print obj.text
#Remove Uplinks
for item in list(NoDot1x):
somelist.remove("Interface Vlan*")
Здесь вывод для #Display Results.
interface Port-channel1
interface FastEthernet1
interface GigabitEthernet1/1
interface TenGigabitEthernet5/1
interface TenGigabitEthernet5/2
interface TenGigabitEthernet5/3
interface TenGigabitEthernet5/4
interface TenGigabitEthernet5/5
interface TenGigabitEthernet5/6
interface TenGigabitEthernet5/7
interface TenGigabitEthernet5/8
interface TenGigabitEthernet6/1
interface TenGigabitEthernet6/2
interface TenGigabitEthernet6/3
interface TenGigabitEthernet6/4
interface TenGigabitEthernet6/5
interface TenGigabitEthernet6/6
interface TenGigabitEthernet6/7
interface TenGigabitEthernet6/8
interface GigabitEthernet7/23
interface GigabitEthernet8/17
interface GigabitEthernet9/2
interface Vlan1