Наверняка вы замечали, что в 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
Наш член Compliance Hub - Рустам Ахметов в рамках образовательной сессии C5+1 Youth Council и American University of Central Asia поделиться с молодыми экспертами полезной информацией по теме "Finances for Youth".
#compliance#awareness
#GreenSchool
#awareness
Ismoiljon Qosimov, one of the active members of the “Green School” Council of the Fergana region under the Ecological Public Association, organized an awareness event in the meeting hall of the Youth Affairs Agency.
During the event, special attention was paid to improving environmental culture, protecting the environment, and widely promoting “green” initiatives among young people. Participants were provided with detailed information about environmental issues, their solutions, and the responsibility of every individual in this regard.
Around 50 participants actively took part in the meeting, sharing their opinions and suggestions on the topic.
☘️Read the latest environmental news on the @ekologuz page. Follow us and send your suggestions and wishes via @eklguz_bot
Instagram | Facebook | Twitter | Sayt | Youtube.
Stigma-fighting breast cancer van hits Gaza streets
Health activists have launched a campaign to raise awareness and fight the stigma associated with breast cancer in Gaza.
#News#Reuters#Gaza#breastcancer#awareness
Subscribe: http://smarturl.it/reuterssubscribe
Reuters brings you the latest business, finance and breaking news video from around the globe. Our reputation for accuracy and impartiality is unparalleled.
Get the latest news on: http://reuters.com/
Follow Reuters on Facebook: https://www.facebook.com/Reuters
Follow Reuters on Twitter: https://twitter.com/Reuters
Follow Reuters on Instagram: https://www.instagram.com/reuters/?hl=en
➖@reutersworldchannel➖
Albinism: a genetic condition that reduces or stops the body's melanin production, the pigment that gives color to skin, hair, & eyes. Albino people often have very light skin, hair, and eye color. It can also affect vision, causing problems like poor sight and light sensitivity.
Most people with albinism have blue, hazel, green, or light brown eyes, depending on the amount of melanin pigmentation. Some may appear to have red or violet eyes since the lack of melanin allows underlying blood vessels to show.
Their skin is more sensitive to the sun, they burn easily and have a higher risk of skin damage. Albinism is present from birth and is inherited through genes. Most have normal health and lifespan with proper care. But many face social challenges like persecution, stigma, and discrimination in different parts of the world.
🧬☀️👁️
[Read more1]
[Read more2]
[Read more3]
[Read more4]
@googlefactss
#Albinism#Genetics#Awareness#Inclusion
If you have ideas or feedback contact us:
@Googlefactss_Feedback_bot
🇺🇸🇮🇱🇵🇸Lara Friedman on the #Antisemitism#Awareness#Act that is currently being passed, which will enshrine the #IHRA definition and examples into law.
"This is an effort to define antisemitism to not only include criticism of #Israel, but to use this as a weapon against #Palestinian rights activism".
@MostMoralArmy
Adults in some countries like for example Belgium and the Netherlands are in organ donor registers. Many do not actively choose, so they are listed as “no objection.” Around half are donors. Some actively say yes, some say no. Young adults often take no active choice and are donors by default.
Fun fact, there is no age limit for organ donation.
The oldest donor was 95 years old.
🫀📝🌍
[Read more 1]
[Read more 2]
[Related poll]
@googlefactss
#OrganDonation#Health#DonorRegister#MedicalFacts#Awareness#YouthHealth