Код: Выделить всё
hostname Foo
!
interface GigabitEthernet 1/1
switchport mode trunk
switchport trunk allowed vlan 10,20,30
!
interface GigabitEthernet 1/2
ip address 192.0.2.1 255.255.255.128
no ip proxy-arp
!
Код: Выделить всё
hostname Foo
!
interface GigabitEthernet 1/1
switchport mode trunk
switchport allowed vlan 10,20,30,40
!
interface GigabitEthernet 1/2
ip address 192.0.2.1 255.255.255.128
!
Пример Difflib
Я знаю, что могу сравнить эти две строки с помощью difflib, но difflib не понимает синтаксис Cisco IOS.
Пример Difflib h1>
Код: Выделить всё
import difflib
before = open('before.txt').readlines()
after = open('after.txt').readlines()
# Find and print the diff:
for line in difflib.unified_diff(
before, after, fromfile='before.txt',
tofile='after.txt', lineterm=''):
print(line)
Код: Выделить всё
--- before.txt
+++ after.txt
@@ -2,9 +2,8 @@
!
interface GigabitEthernet 1/1
switchport mode trunk
- switchport trunk allowed vlan 10,20,30
+ switchport allowed vlan 10,20,30,40
!
interface GigabitEthernet 1/2
ip address 192.0.2.1 255.255.255.128
- no ip proxy-arp
!
Требуемый вывод
Как с помощью Python получить вывод сравнения, подобный этому , который понимает формат конфигурации Cisco?
Код: Выделить всё
interface GigabitEthernet 1/1
switchport allowed vlan 10,20,30,40
interface GigabitEthernet 1/2
ip proxy-arp
Подробнее здесь: https://stackoverflow.com/questions/787 ... -in-python