Наверняка вы замечали, что в 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
💀WallHack SP-005 Carnage Sora ограниченный выпуск💀
🔴Арт сделан японским художником 𝙍𝙤𝙡𝙪𝙖 и нанесен на лучшее стекло от WallHack.
🔴Ковер имеет очень ограниченное количество экземпляров в размере 1.800 единиц. Всего несколько из которых достались нам.
— Дизайн коврика отсылает к сюжету последнего выпуска комиксов от WallHack: Когда мы видели Сору в последний раз, она вознеслась, её способности наконец-то пробудились, став безграничными. Но у этого возвышения была своя цена. Та самая сила, что вознесла её, теперь обратилась вспять, поглощая её изнутри. Мощь, лишенная контроля. Душа, пожирающая саму себя.
🆘Предзаказ на ReShip.pro
САЙТ • МЕНЕДЖЕР • #WALLHACK
🌑Открыт предзаказ на лимитированное издание WALLHACK x EVANGELION, в исполнении модели SP-005.
*️⃣Размер увеличен до 510x440 миллиметров
*️⃣Толщина стекла снижена до 2.5 миллиметра
*️⃣Формовая, силиконовая подложка
*️⃣Обработанные краев на станке
*️⃣Надежный защитный кейс
*️⃣Глайды Wallhack в комплекте
— Доступно всего несколько единиц, лучше не откладывать на потом.
Цена: 23.990₽ - предзаказ тут*
САЙТ • МЕНЕДЖЕР • #WALLHACK
🏃Wallhack SP004A — та же модель, но меньшего размера и по более низкой цене.
➡️Быстрое покрытие
➡️Размер 390 на 450 мм
➡️Толщина 4 мм
➡️Силиконовая кастомная подложка
💳Цена: 14.390₽ — в наличии, ReShip.pro
САЙТ • МЕНЕДЖЕР • #WALLHACK
🏴☠️Новый WALLHACK VA005 в наличии в Москве!
⚫️Размер увеличен до 510x440 миллиметров
⚫️Толщина снижена до 3 миллиметров
⚫️Улучшенная силиконовая подложка
⚫️Инновационно обработанные края на станке
⚫️И надежный защитный кейс
🖱Цена: 19.990₽ — на ReShip.pro*
КАТАЛОГ • МЕНЕДЖЕР • #WALLHACK
😐Мы этого дождались..
Новый стеклопад от WALLHACK - VA-005, по слухам самый быстрый на рынке
💎Размер увеличен до 510x440 миллиметров
💎Толщина снижена до 3 миллиметров
💎Улучшенная силиконовая подложка
💎Инновационно обработанные края на станке
💎И надежный защитный кейс
— Уже в пути к нам! Теперь ожидаем выход CR-005
⏳
💳Цена: 19.990₽ — уже на ReShip.pro
КАТАЛОГ • МЕНЕДЖЕР • #WALLHACK
🌸WALLHACK SP-004 в коллаборации с HATSUNE MIKU - летняя версия
💕Улучшенная быстрая поверхность
💕Размер 43 на 49 см
💕Толщина 3.9 мм
💕Силиконовая подложка
— В наличии всего 5 шт - Успевайте!
💸 Цена: 19.990₽
КАТАЛОГ • МЕНЕДЖЕР • #WALLHACK
⭐️Что такое стеклопады и почему их используют?
🔎Разберемся в этом на примере самого популярного стеклопада WALLHACK SP-004
🔎Характеристики SP-004
- Быстрая поверхность
- Силиконовая подложка благодаря которой коврик не прогибается и уверенно лежит на столе
🔎Преимущества стеклопадов
- Легкий уход
- Стабильная скорость
- Долговечность
Интересны стеклопады? - ❤️
ОФОРМИТЬ ЗАКАЗ • КАТАЛОГ • #WALLHACK
🔖WALLHACK представили свой новый сезонный стеклопад SP-004 в расцветке DRIFT SORA (Серия Y2K)
И нам удалось достать для вас несколько экземпляров, которые уже доступны к заказу
🔔Поспешите, ведь количество ограничено!
ОФОРМИТЬ ЗАКАЗ • КАТАЛОГ • #WALLHACK
‼️Мало кто знает что у WALLHACK есть тканевые ковры, так еще и в лимитированной расцветке ARCADE
🚨MO-001
Разработан для скорости и точности
🚨SY-001
Разработан для контроля и комфорта
Общие характеристики:
- Подложка из японского порона, твердость SOFT
- Размер 49см х 43см х 0,4см
- Уникальный оверлок с новой технологией, совершенно не ощущающийся рукой
W дизайн? 🔥
ОФОРМИТЬ ЗАКАЗ • КАТАЛОГ • #WALLHACK