Наверняка вы замечали, что в Python есть удобная функция для получения переменной окружения
os.getenv(NAME)
И её "сестра" для создания или изменения переменных окружения
os.putenv(NAME, VALUE)
Но почему-то putenv() не работает как должно. Энвайромент не обновляется!
os.putenv('MYVAR', '1')
print(os.getenv('MYVAR'))
... и ничего 😴
Почему так?
На самом деле энвайромент обновляется, но это значение не добавляется в словарь os.environ.
Откройте исходник функции os.getenv(). Это просто шорткат для os.environ.get()
В то время как putenv() это built-in С-функция.
Словарь os.environ (или точней класс из MutableMapping) создаётся из энвайромента в момент инициализации. Функция putenv() самостоятельно его не изменяет.
В тоже время, когда вы создаёте или изменяете ключ в os.environ, автоматически вызывается putenv() в методе __setitem__().
То есть, технически putenv() всё делает верно, но в os.environ это не отражается. Можно проверить так:
>>> os.putenv('MYVAR', '123')
>>> os.system('python -c "import os;print(os.getenv(\'MYVAR\'))"')
123
Я объявил переменную в текущем процессе и вызвал дочерний процесс, который её унаследовал и получил в составе os.environ.
Аналогично при удалении переменной вызывается еще одна built-in функция unsetenv(), удаляющая переменную из системы.
Итого
▫️ Удобней всего явно обновлять переменные через os.environ
▫️ Есть способ неявно создать/удалить переменную через putenv/unsetenv, что не повлияет на os.environ но изменит энвайромент и передаст изменения сабпроцессам. Но так лучше не делать!
▫️os.environ это просто обертка для built-in функций putenv() и unsetenv().
#basic
Как стало возможных внедрить автоматизированное планирование за три недели?
🧑💻Ответила на этот вопрос Елена Безрукова, Системный аналитик AXELOT
🗣 Если у вас остались вопросы, оставляйте комментарии под этим постом — будем рады ответить!
#Эксперты_AXELOT#TMS
📉 В результате внедрения системы управления транспортом (TMS) в компании ВсеИнструменты.ру, доля ручных операций сократилась с 90% в 2023 году до 10% в 2024 году. Директор по логистике Георгий Ким рассказал об этом на SCM Конгрессе. До автоматизации логистика компании в основном зависела от ручных процессов, что создавало риски монополизации, так как около 25-30% перевозок осуществлялись одним подрядчиком.
🚚 Прежние методы работы приводили к 100 сервисным нарушениям в месяц, что была серьёзной проблемой для компании, работающей в e-com-сегменте, где клиенты ожидают быструю и бесперебойную доставку. Ким подчеркнул, что для решения проблемы был выбран путь внутренней трансформации через аудит процессов и разработку собственной TMS, автоматизировавшей 34 параметра, включая контроль времени прибытия и проверку документов.
🔧 Новая система значительно упростила процесс управления, сократив количество метрик до критически важных показателей, что способствовало более эффективной работе. Председатель отметил, что отбор перевозчиков стал более строгим: из тысячи заявок сейчас одобряются лишь десятки. Это привело к снижению числа сервисных нарушений до 17 в месяц, а в летний период до 1-5, при одновременном увеличении пула контрагентов в три раза.
____
#ТисЛоджистик🦏
#Логистика
#Автоматизация
#TMS
Какую модель использования вы рекомендуете для решений класса RTVP?
🧑💻Ответил эксперт AXELOT: Андрей Заверткин, функциональный архитектор TMS
Получите консультацию от наших экспертов по продуктам AXELOT. Ставьте + в комментариях под постом или пишите в личные сообщения ✉️
#Эксперты_AXELOT#AXELOTTMS#TMS
Что стало первопричиной появления сервиса AXELOT RTVP?
🧑💻Ответил эксперт AXELOT: Заверткин Андрей, функциональный архитектор TMS
Ставьте реакции на пост🔥. Остались вопросы - задавайте их в комментариях под постом или пишите в личные сообщения✉️
#Эксперты_AXELOT#AXELOTTMS#TMS
26 августа 2021 в г.Алматы, Республика Казахстан состоялась ежегодная конференция “Логистика будущего”.
Логисты со всей страны встретились, чтобы обсудить текущие тренды по оптимизации своей деятельности. Партнеры и участники конференции – лидеры рынка складской и транспортной логистики.
Высокий интерес слушателей к традиционным AXELOTовским решениям #WMS, #TMS и #TOS был обусловлен не только развитием транспортно-логистического потенциала Республики Казахстан, но и введением системы обязательной маркировки на широкий перечень товарных групп.
Во второй части конференции была проведена экскурсия на один из наших объектов - складской комплекс ICEBERG ALMATY, который является самым крупным морозильным складом класса "А" в Центральной Азии общей площадью 47 000м2.
📢 Как контролировать транспортные затраты в AXELOT TMS X5?
🗣️ Рассказал специалист AXELOT Евплов Андрей, Функциональный архитектор
Остались вопросы? Пишите в комментариях под постом ⬇️
#Эксперты_AXELOT#TMS#транспортныезатраты
📢Как организовать комфортную работу водителя в AXELOT TMS и удержать сотрудника?
Ответили эксперты компании AXELOT - смотрите запись вебинара❗️
#вебинар#AXELOTTMS#TMS#эксперты_AXELOT
Почему так важна архивная функция TMS, которая относится скорее к системе операционного управления?
🗣️Ответила на этот вопрос Елена Безрукова, системный аналитик AXELOT
Получить ответы на вопросы по продуктам AXELOT и подобрать нужное решение можно через личные сообщения! Или ставьте + в комментариях под постом, мы с вами свяжемся⬇️
#AXELOT#TMS#грузоперевозки#совместимостьтоваров
📡 Может ли AXELOT TMS X5 помочь управлять рисками в транспортной логистике?
🧑💻Рассказал в видеоролике Олег Голядинец, менеджер по развитию ИТ-продукта.
Задавайте вопросы по возможностям AXELOT TMS в комментариях под постами⬇️
#AXELOT#AXELOTTMS#TMS#транспортнаялогистика
📢 Каким способом YMS может сгладить пики нагрузки на доки?
✔️ На этот вопрос ответил Сергей Шейко, руководитель отдела YMS
Ставьте реакции на пост 🔥 и задавайте свои вопросы нашим экспертам‼️
#Эксперты_AXELOT#YMS#TMS#WMS
📢Какие риски закладывают перевозчики на простой при проведении погрузо-разгрузочных работ?
На этот вопрос ответил Сергей Шейко, руководитель отдела YMS, в видео ✅
Ставьте реакции на пост 🔥 и задавайте свои вопросы нашим экспертам❗
#Эксперты_AXELOT#YMS#TMS#WMS