Наверняка вы замечали, что в 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
ЛАЗЕРНЫЙ БИЛЕТ ИЗ СЕРИИ «ЦЕРЕМОНИЯ ЗАПУСКА» | ОФИЦИАЛЬНЫЙ МЕРЧ | AZURLANE
🌟Персонажи:
🌟 Z52
🌟 Fritz Rumey
🌟 Raffaello
🌟 Moskva
🌟Детали:
⭐ Товар ЛИМИТИРОВАН, продажи будут до 12 МАРТА
⭐Предпродажа, отправка на склад в течение 200 дней
⭐Размеры: 20х7 см
🌟Цена: 650 🌟 (рублей)
🌟Доставка:
🅰️ Цена указана С УЧЕТОМ доставки ДО РФ
🌟Обратная связь:
⁉️Вопросы о доставке, оплате и тд.
👀Отзывы
🌟Купить:
🅰️@astroknight_bot
🅰️ С реальными менеджерами
#AzurLane@astroknightshop
#Z52@astroknightshop
#FritzRumey@astroknightshop
#Raffaello@astroknightshop
#Moskva@astroknightshop
🍨Сладкий дресс-код: CHARMSTORE и Raffaello предлагают начать деловой сезон со вкусом
Пока все скупают канцтовары и грустят по уходящему лету, бренды нашли изящный способ «подсластить» возвращение к рутине.
👗Российский бренд одежды CHARMSTORE в партнерстве с Ferrero (владельцем марок Raffaello и Ferrero Rocher) выпустил капсульную коллекцию, чтобы возвращение в офис или в университет после каникул было максимально приятным.
Идея в том, чтобы превратить начало делового сезона из обязанности в dolce vita.
👗Что внутри «конфетной» коллекции?
• Платья: объемные модели с открытой спиной и рукавами-буфами в ванильных и золотых оттенках.
• Блузы: акцентные модели с бантами для строгих, но нескучных образов.
• Брюки-баллоны и аксессуары: золотистые сумки-мешки и… чалмы.
🎨 Дизайн и палитра:
Вся коллекция пронизана кондитерской эстетикой: нежные пастельные оттенки, кремовые и золотистые тона, летящие ткани и лаконичные, но запоминающиеся формы.
🛍️ Где брать?
В кондитерском отделе
Коллекция доступна с 19 августа в бутиках CHARMSTORE и на официальном сайте fashion-бренда.
👛Почем радость?
Платья - от 29 до 42 коробок Raffaello или Ferrero Rocher
Сумки - от 9 до 13 коробок
Чалмы - от в 6 до 8 коробок сладостей в рублевом эквиваленте**
⭐️Коммент для маркетологов (со «звездочкой»)
Почему коллаборации с конфетами в сезон «Back to School» — это «пятерка» за стратегию и тактику?
Во-первых, бренды «играют на эмоциях». Конец лета и каникул часто ассоциируется с грустью и стрессом. Бренды предлагают «дофаминовую прививку» — покупку, которая становится наградой и утешением.
Ассоциация новой блузки с нежным вкусом конфет удваивает эффект, превращая рутинный шопинг в акт заботы о себе.
Во-вторых, это расширение аудитории и отличный инфоповод. Коллаборации создают шум, привлекая внимание как fashion-шопоголиков, так и любителей сладкого.
Именно так бренды могу «обменяться» лояльной аудиторией и выделиться на фоне стандартных «осенних коллекций».
В итоге, одежда перестает быть просто одеждой, а конфеты — просто десертом. Они становятся частью общего лайфстайл-сообщения: «Начинайте новый сезон красиво и со вкусом!»
Из таких же остроумно-пищевых коллабов в нашей стране вспоминается апрельский дуэт Роллтон х Beauty Bomb. Из того, что #неунас — rhode х Krispy Creame в 2023 и Crocs х McDonalds (классика)
А вообще марки из мира fashion и красоты активно сотрудничают со «вкусными» марками и для этого есть даже отдельный тренд под названием #foodcore
………………..
*Источник: соцсети и официальный сайт марки
**Как мы считали
1 коробка Raffaello (150 г) = 450 руб
1 коробка Ferrero Rocher (200 г) = 650
#августомания@girlinmall#коллаб@girlinmall#charmstore#raffaello