TGViewer
Серверная Админа | Компьютерные сети Серверная Админа | Компьютерные сети @school_network · 26.5K subscribers
Post #2189 4.66K
👋 Привет, сетевой друг!

Сегодня покажу, как разобрать вывод show-команд в четкий формат с помощью shconfparser

🟣Как это работает:
shconfparser умеет читать текст из show-команд (например, show run, show version, show ip interface brief) и превращать всё это в дерево, таблицу или словарь.

🟣Базовый пример:

from shconfparser.parser import Parser
from os import path

file_path = path.abspath('data/shcommands.txt')
p = Parser()

raw = p.read(file_path) # читаем файл с show-командами
data = p.split(raw) # делим по типам (running, version, и т.д.)


🟣Парсим show run в дерево:

data['running'] = p.parse_tree(data['running'])
p.dump(data['running'], indent=4)


🟣Парсим таблицу (например, show cdp neighbors):

header = ['Device ID', 'Local Intrfce', 'Holdtme', 'Capability', 'Platform', 'Port ID']
data['cdp_neighbors'] = p.parse_table(data['cdp_neighbors'], header)
p.dump(data['cdp_neighbors'], indent=4)


🟣Ищем интерфейсы в дереве:

pattern = r'interface\s+FastEthernet.*'
matches = p.search.search_all_in_tree(pattern, data['running'])
print(matches.values())


🟣Или ищем узел в таблице:

pattern = r'R\d+'
result = p.search.search_in_table(pattern, data['cdp_neighbors'], header='Device ID')
print(result)


Серверная Админа | #Network
  • 👍 6
  • ❤ 3
  • 🤔 1
  • 💯 1
  • 👾 1
More from @school_network
  1. Oct 6, 2026👋 Привет, сетевой друг! Сегодня про Network Doctor - TUI для диагностики сети, который пы…
  2. Oct 6, 2026Как хаотичные подсети убивают масштабируемость В статье показывают, как случайные /24, пер…
  3. Oct 3, 2026Post #2894
  4. Oct 2, 2026👋 Привет, сетевой друг! Ещё три функции MikroTik, которые легко пропустить, пока не столк…
  5. Oct 2, 2026Для тех, кто работает с Kubernetes и облачной инфраструктурой, в октябре намечается отличн…
  6. Oct 1, 2026👋 Привет, сетевой друг! Сегодня про UUCP - протокол и набор утилит, через которые Unix-ма…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →