Наверняка вы замечали, что в 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
🔥 13 июля фестиваль электронной музыки "Калейдоскоп" возвращается на Волга-Спорт-Арену с новым MEDIA ART эпизодом! 🔥
Вас ждет уникальное медиа-шоу на гигантских светодиодных экранах, три хедлайнера и два танцпола, один из которых под открытым небом!
Состав хедлайнеров:
📌Catmoonk – певец и диджей из Москвы, который откроет основную сцену своим мощным лайв-выступлением: DJ сет + вокал;
📌Highlite – диджеи и музыканты из Москвы, треки которых подписал на свой лейбл четырёхкратный поюедитель премии "DJ Awards" Solomun;
📌Blaktone – диджеи и музыканты из Санкт-Петербурга, треки которых играют на вечеринках по всему миру.
Прямо сейчас вы можете принять участие в розыгрыше и получить 5 билетов совершенно бесплатно!
🔗Условия розыгрыша: https://t.me/kaleidoscope_ulyanovsk/1116
Фестиваль пройдет при поддержке национального проекта «Туризм и индустрия гостеприимства».
#MEDIAART#ВолгаСпортАрена#Ульяновск#Музыка#Фестиваль
#ЦифровойКонтекст
Deep Cuts: искусство, которое думает 💌
С 3 по 5 июня в Калифорнийском университете в Санта-Барбаре проходит ежегодная выставка "Deep Cuts"от программы Media Arts and Technology🦋
В фокусе — работы на стыке науки, технологии и искусства:
— иммерсивные медиа
— нейросети и робототехника
— визуализация данных и перформансы
😇 Особый акцент — на AlloSphere: трёхэтажной сфере для объёмных научно-художественных визуализаций.
"Deep Cuts" — это пространство, где инженерия становится художественным методом, а медиаинсталляции — интерфейсом между человеком и информацией.
#DeepCuts#MediaArt#UCSB#новости
🎨 Тема следующей встречи Международной молодежной конференции "Креативный контент: в партнерстве с БРИКС" - Дизайн и Медиаискусство 🎨
Наше творческое путешествие продолжается - следующая онлайн-встреча состоится 26 ноября! 🙌
Мы погрузимся в захватывающие миры Дизайна👩🎨 и Медиаискусства👨💻, чтобы исследовать последние тренды, инновации и кросс-культурные идеи в странах-партнерах БРИКС - Беларусь, Боливия, Вьетнам, Казахстан, Куба, Малайзия, Нигерия, Таиланд, Уганда, Узбекистан🌍
👉 Если вам интересны дизайн, цифровое искусство и творческие медиа, прямо сейчас регистрируйтесь по ссылке: docs.google.com/forms/d/e/... 💌
Зарегистрированные участники получат ссылку на подключение к Конференции на указанную при регистрации почту за день до мероприятия.
Сертификаты📜 активным участникам Конференции будут выданы по итогу встречи.
Организатор - Проектный офис международного молодежного сотрудничества "Россия-БРИКС" при поддержке Фонда креативных индустрий Ульяновской области, Сообщества цифровых управленцев «я-ИТ-ы» и ОТРО «Санкт-Петербургский Союз дизайнеров».
✨Творим, общаемся, развиваемся вместе!✨
#BRICS#CreativeContent#Design#MediaArt#Conference#БРИКС#КреативныйКонтент#Дизайн#МедиаИскусство#Молодежь