parse — это лёгкая библиотека для разбора строк по шаблонам в стиле format(). Позволяет извлекать именованные поля с автоконвертацией типов (int, float и т.п.) без сложных регулярных выражений.
Идеальна для парсинга логов, CLI-выводов, конфигов и любых строк, где формат заранее известен.
from parse import parse, findall, compile
# Базовый парсинг с типами
res = parse("Name: {name}, Age: {age:d}", "Name: Alice, Age: 30")
print(res["name"], res["age"]) # ➔ Alice 30
# Компилируемый шаблон (быстрее при многократном использовании)
pat = compile("X{num:d}-Y{tag}")
print(pat.parse("X42-Ydev").named) # ➔ {'num': 42, 'tag': 'dev'}
# Поиск всех совпадений в тексте
text = "order#12 price=9.90 ; order#33 price=14.50"
for m in findall("order#{id:d} price={price:f}", text):
print(m.named) # ➔ {'id': 12, 'price': 9.9} ; {'id': 33, 'price': 14.5}
➕ Преимущества:
str.format
— проще, чем regex{x:d}
, {y:f}
, {z}
и кастомные конвертерыpip install parse
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥8👍1