Разбор текста по шаблону на Python
Все знают, как в питоне форматировать текст по шаблону:
import datetime as dt
date = dt.date(2020, 11, 20)
who = "Френк"
count = 42
tmpl = "{:%Y-%m-%d}: {} и его {:d} друга вылетели в Копенгаген"
>>> tmpl.format(date, who, count)
'2020-11-20: Френк и его 42 друга вылетели в Копенгаген'
А благодаря библиотеке parse от Ричарда Джонса, с такой же легкостью можно разбирать текст обратно по переменным:
import parse
tmpl = "{:ti}: {} и его {:d} друга вылетели в Копенгаген"
txt = "2020-11-20: Френк и его 42 друга вылетели в Копенгаген"
>>> date, who, count = parse.parse(tmpl, txt)
>>> date
datetime.datetime(2020, 11, 20, 0, 0)
>>> who
'Френк'
>>> count
42
parse по большей части поддерживает стандартный питонячий мини-язык форматирования, так что новый синтаксис учить не придется.
Внутри работает на регулярках. Ноль зависимостей, питон 2 и 3.
Подписывайтесь на канал, чтобы не пропустить новые заметки 🚀