Наверняка вы замечали, что в 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
Какой наряд вам нравится?
Слева: Шейха Моза в наряде от Ульяны Сергеенко.
Справа: Шейха Хинд (Sheikha Hind bint Hamad Al Thani) в чапане работы ташкентского ателье Мадины Касымбаевой.
Источник фото: ТГ канал darsic.com
#goingout
Этномода по-королевски 👸👑
Принцесса Беатрис с мужем Эдоардо Мапелли Моцци выбрала для ужина в ресторане The Twenty Two в Мэйфэре вот такое "этничное" платье.
Дочь принца Эндрю и Сары Фергюсон в платье Chloe и туфлях Chanel - настоящий амбассадор "этномоды"☺️
#goingout
Сегодня международный день платка и хиджаба 🧕👰
А с нами сегодня прекрасная женщина-
модель Равда Мохамед, которая в 2021 году была представлена как редактор журнала Vogue Скандинавия.
Сомалийско-норвежская модель Равда Мохамед прославилась как вдохновительница флешмоба против запрета хиджаба во Франции.
На Западе Мохамед должна была стать первой мусульманкой в хиджабе, возглавляющей модный журнал, писал The Guardian.
"Я не считаю себя исправлением чего-либо. Если я смогу помочь развитию отрасли, это будет прекрасный вклад", - сказала модель.
Равда родилась в Сомали, а в возрасте 8 лет переехала в Норвегию со своей семьей.
Став моделью, она участвовала в неделях моды в Осло, Париже и Копенгагене, снималась для Vogue США и V-Magazine.
#goingout
Когда и если будете смотреть новый сезон And Just Like That, обратите внимание на полосатый кафтан Кэрри Брэдшоу.
На съемки его прислали из Марракеша, из ателье Marrakshi Life, бренда "медленной" моды, где все ткут вручную местные ремесленники.
Платье ткали специально для героини Сары-Джессики Паркер — видео, как это происходило, есть в карусели.
#goingout#кинокостюм
Как одеваются редакторы модного глянца?
Например, как новый директор редакционного контента британского Vogue Чиома Ннади
То есть #этномодно😊
#goingout
Стереотипы на предмет выхода в оперу отступают, если опера - это Metropolitan, а светский фотограф - автор аккаунта Last night at the MET.
Мы выбрали несколько образов с этно акцентом - непринужденные и не помпезные гости оперы, которые носят свои наряды с удовольствием 🤎
#opera#goingout
Наша любая рубрика #вдогонку произошедшему ещё вчера 🙋
День рождения Sarah Jessica Parker (25 марта)
заставил вспомнить этно шик от легендарной Кэрри Брэдшоу, и вот они - образы последнего сезона, подтверждающие, что этно тренд в моде продолжает набирать обороты!
#goingout
#ЭТНОМОДА ретро-понедельник + ЭТНОМОДА по-королевски 🤴
1 июня состоялась свадьба наследника иорданского престола, принца Хусейна ибн Абдаллы и его избранницы Раджве Аль Саиф. На церемонии присутствовало большое количество гостей, в том числе, главы разных государств и монаршие особы.
Мы бы хотели отметить невероятный наряд шейхи Мозы, которая славится своим превосходным вкусом в одежде. Шейха вышла в легком плаще из кутюрной коллекции Valentino 1989, посвященной творчеству австрийского архитектора Йозефа Хоффмана, известного своими функциональными и структурными предметами декора и мебели.
Photo: Reuters, Getty Images, Valentino
#шейхамоза#valentino#свадьбаиордания#goingout#etnomoda