Форум сайта python.su
Добрый день!
Допустим с помощью библиотеки netmiko вернулся результат:
Destination Address Address Type VLAN Destination Port
——————- ———— —- ——————–
f02f.7409.5290 Dynamic 1 FastEthernet3
f872.ea83.dbca Self 1 Vlan1
как из этого вывода сформировать двумерный список построчный? или еще лучше, создать словарь с такими параметрами:
{[ Destination Address: f02f.7409.5290, Address Type: Dynamic, VLAN: 1, Destination Port: FastEthernet3], [Destination Address: f872.ea83.dbca, Address Type: Self, VLAN: 1, Destination Port: Vlan1]}
Отредактировано svm1987 (Июнь 27, 2022 20:07:59)
Офлайн
Передай точно то, что приходит. Используй тег code.
[code]
тут пишешь результат от netmiko
[/code]
Отредактировано py.user.next (Июнь 27, 2022 23:44:33)
Офлайн
svm@ubuntu:~$ python3 cisco.py
Destination Address Address Type VLAN Destination Port
------------------- ------------ ---- --------------------
f02f.7409.5290 Dynamic 1 FastEthernet3
f872.ea83.dbca Self 1 Vlan1
svm@ubuntu:~$
Офлайн
>>> import re >>> >>> text = """\ ... Destination Address Address Type VLAN Destination Port ... ------------------- ------------ ---- -------------------- ... f02f.7409.5290\t\tDynamic 1 FastEthernet3 ... f872.ea83.dbca\t\tSelf 1 Vlan1 ... """ >>> >>> data = text.splitlines()[2:] >>> fields = [re.findall(r'\S+', i) for i in data] >>> dicts = [{'dest': f1, 'type': f2, 'vlan': f3, 'port': f4} ... for f1, f2, f3, f4 in fields] >>> dicts [{'dest': 'f02f.7409.5290', 'type': 'Dynamic', 'vlan': '1', 'port': 'FastEthernet3'}, {'dest': 'f872.ea83.dbca', 'type': 'Self', 'vlan': '1', 'port': 'Vlan1'}] >>> >>>
Офлайн