Наверняка вы замечали, что в 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
AFRIQUE | Un programme secret de stérilisation des femmes Africaines, mis en place par #BillGates, a été découvert. L'UNICEF, l'OMS et la Fondation Bill et Melinda Gates sont accusés d'avoir secrètement stérilisé des millions de femmes en #Afrique avec la complicité de médecins kenyans, après la découverte de médicaments abortifs dans un vaccin contre le tétanos.
Ce même Bill Gates est le financier du dangereux vaccin #RTS,S MOSQUIRIX de #GSK, avec des effets graves, notamment une mortalité élevée chez les filles.
Des moustiques OGM au Burkina Faso 🇧🇫, Djibouti, Kenya 🇰🇪, Ouganda 🇺🇬 etc… qui propagent le paludisme et la dengue.
⚠️Pourquoi les Africains devraient-ils continuer à faire confiance à des gens qui commettent des crimes de masse ?
Plus d’informations sur nos chaînes Telegram | https://t.me/egountchibehanzinTV
Pour les numéros français | https://t.me/egountchibehanzinTV
Russian Stock Market Opens Week with Moderate Decline
On April 29, the Moscow Exchange and RTS indexes fell 0.3%, reacting to the Central Bank of Russia’s cautious signals on monetary policy. Meanwhile, oil prices rose amid ongoing geopolitical tensions in the Middle East. Biggest losers included Group Pозитив (-2.2%), Yandex (-2.1%), and MMK (-1.8%). The official dollar rate stands at 75.53 rubles.
The market reflects both domestic and external challenges, showing investor caution.
#Russia#StockMarket#MoscowExchange#RTS#CentralBank
The main news of Russia and the world ishere.
Warcraft 3 получает новое дыхание с Lord of the Clans 🛠
У нас отличные новости для всех поклонников Warcraft 3 и стратегий в реальном времени. Энтузиасты из группы OutsiderXE не стали ждать, когда Blizzard что-то предпримет, и решили взять дело в свои руки. Они создали масштабную фанатскую кампанию для Warcraft 3 под названием Lord of the Clans.
🎮 Что внутри?
В кампании вас ждут 8 миссий и 67 дополнительных квестов, которые подарят вам около 9 часов игрового времени. Это не просто мод, а настоящая новая история, которую вы можете пережить, играя в классический Warcraft 3 или его ремастер Reforged.
📥 Как получить?
Все просто: переходите по ссылкам и скачивайте версию, которая вам нужна. Кампания доступна для Warcraft 3 Reforged здесь и для классической версии Warcraft 3 здесь. И самое крутое – это совершенно бесплатно!
🔍 Почему это важно?
В мире стратегий в реальном времени не так часто появляются новинки, и любая новость в этом жанре – уже повод для радости. А когда дело касается Warcraft, это вдвойне интересно. Энтузиасты подарили нам возможность вновь окунуться в любимую вселенную и пройти новый захватывающий сюжет.
Пора скачивать и начинать свое приключение! Расскажите в комментариях, как вам новая кампания и какие впечатления остались после игры.
#Warcraft3#LordOfTheClans#RTS#Игры#Warcraft#Геймеры#НовостиИгровогоМира