Небольшой трик с регулярными выражениями который редко вижу в чужом коде.
Допустим, вам нужно распарсить простой текст и вытащить оттуда пары имя+телефон. Вернуть всё это надо в виде списка словарей. Возьмем очень простой пример текста.
>>> text = '''
>>> Alex:8999123456
>>> Mike:+799987654
>>> Oleg:+344456789
>>> '''
Соответственно, для выделения нужных элементов будем использовать группы. Получится такой паттерн:
(\w+):([\d+]+)
Как мы будем формировать словарь из найденных групп?
>>> import re
>>> results = []
>>> for match in re.finditer(r"(\w+):([\d+]+)", text):
>>> results.append({
>>> "name": match.group(1),
>>> "phone": match.group(2)
>>> })
>>> print(results)
[{'name': 'Alex', 'phone': '8999123456'}, ...]
Можно немного сократить запись используя zip
>>> results = []
>>> for match in re.finditer(r"(\w+):([\d+]+)", text):
>>> results.append(dict(zip(['name', 'phone'], match.groups())))
Но есть способ лучше! Это именованные группы в regex. Можно в паттерне указать имя группы и результат сразу забрать в виде словаря.
>>> for match in re.finditer(r"(?P<name>\w+):(?P<phone>[\d+]+)", text):
>>> results.append(match.groupdict())
То есть всё что я сделал, это добавил в начале группы (внутри сбокочек) такую запись:
(?P<group-name>...)
Теперь найденная группа имеет имя и можно обратиться к ней как к элементу списка
>>> name = match['name']
Либо забрать сразу весь словарь методом groupdict()
>>> match.groupdict()
#tricks#regex
Импортозамещение от AXELOT
В последнее время импортозамещение обсуждается на всех уровнях и практически во всех сферах российского бизнеса. Не является исключением и область IT-технологий. В специально созданном едином реестре отечественных программ размещены уже шесть продуктов компании AXELOT – три из них пополнили этот список в течение марта. Для решения каких задач эти продукты предназначены, и как они могут быть полезны госзаказчикам, узнайте по ссылке https://www.axelot.ru/knowhow/news/detail_52687/
#WMS#импортозамещение#AxelotWMS#автоматизациясклада#TOS#AxelotTOS#SCAP
🇮🇳🇺🇿 Контейнерные перевозки из Индии в Узбекистан запустили по новому маршруту
Как пишет LogiStan, компания «Узтемирйулконтейнер» организовала новый мультимодальный маршрут для контейнерных перевозок из индийских портов Мундра, Нхава-Шева и Ченнаи в Узбекистан.
Грузы доставляют по морю из Индии в иранский порт Бандар-Аббас, а затем по железной дороге транзитом через 🇮🇷Иран и 🇹🇲Туркменистан до станции Сергели.
Время доставки планируют сократить до 15 дней.
P.S.: Особенно приятно видеть, что контейнерной обработкой, с помощью #AXELOTTOS , по данному маршруту занимаются наши друзья из компании FDP💪
У них кстати еще и ТГ-канал есть🚂
#LOGISTICS#RAILWAY#UZBEKISTAN#IRAN#TURKMENISTAN#INDIA
Контейнерные терминалы всегда были востребованы, однако текущие тенденции рынка логистики взорвали потребность в таких площадках, а рост грузооборота привел к тому, что существующие терминалы работают на пределе возможностей. ⚠️
Возникает вопрос! Каким образом работать в реалиях рынка, когда новых терминалов еще нет, а грузооборот растет?🤔
Есть инструмент – это автоматизация, которая позволяет переложить часть работы с человека на машинный интеллект и ускорить грузообработку. 👨💻
Особенно остро проблема в нехватке терминальных мощностей отражается на действующих логистических маршрутах и центрах, например, в Республике Казахстан. 🇰🇿
Поэтому хотим рассказать вам про недавно завершившийся проект автоматизации контейнерного терминала именно в Казахстане - "ТЛЦ "Жетыген", который является первой транзитной ж/д станцией на границе Казахстана и Китайской Народной Республики.🇨🇳
Особенностью данного проекта является то, что специалисты "ТЛЦ "Жетыген", смотря в будущее, и осознавая все риски, не стали дожидаться повышенных нагрузок на свой терминал, не стали дожидаться "аврала" и невозможности обработать все потоки, а пошли путём эффективного управления, внедрив у себя систему #AXELOTTOS, систему, которая уже на страте такого грандиозного проекта позволила им сократить издержки и понять степень необходимость IT-инструментов для дальнейшего развития бизнеса💪
Переходим по ссылке выше и читаем подробнее о замечательном проекте! А если остались вопросы, то их можно задать Жданову Юрию😎
#KAZAKHSTAN#TOS#ZHETYGEN#AXELOT#TERMINAL#AUTOMATION#EASTCOMTRANS