Наверняка вы замечали, что в 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
Green University Marks International Anti-Corruption Day
💬As part of December 9 — International Anti-Corruption Day, Green University conducted a survey among students and stuff to understand their perspectives on key issues.
#GreenUniversity#AntiCorruptionDay#Integrity#Transparency#Fairness#TogetherAgainstCorruption
✉️[email protected]
☎️ +998 55 512 00 77
📍Location
🌐Website | 📱Telegram | 📱Instagram | 📱LinkedIn | 🟥YouTube
December 9 -International Anti-Corruption Day
⚠️Corruption slows progress.
❗️Integrity, transparency, and the rule of law make societies stronger.
✅Only together can we fight corruption effectively.
#AntiCorruptionDay#Integrity#Transparency#RuleOfLaw
#StopCorruption#Compliance#GoodGovernance
✉️[email protected]
☎️ +998 55 512 00 77
📍Location
🌐Website | 📱Telegram | 📱Instagram | 📱LinkedIn | 🟥YouTube
Saylor's 21 Bitcoin Principles Revealed
Michael Saylor shares key insights on Bitcoin ownership:
1. Experts buy Bitcoin.
2. Critics don’t understand it.
3. Opinions shift from negative to positive.
4. Learning about Bitcoin is endless.
5. Bitcoin thrives on chaos.
6. It’s a win-win game.
7. True ownership lies in Bitcoin.
8. You earn Bitcoin as per your worth.
9. Invest only what you can afford to lose.
10. Bitcoin is the ticket out of the matrix.
11. Understanding wants and needs drive comprehension.
12. Expect your models to break.
13. Bitcoin is the cure for economic woes.
14. Choose Bitcoin over fiat.
15. Bitcoin is for everyone.
16. Think in Bitcoin terms.
17. Bitcoin will change you.
18. Stay vigilant against lies.
19. Respect Bitcoin or be a fool.
20. Never sell your Bitcoin.
21. Spread the love for Bitcoin.
#Bitcoin#Saylor#Crypto#Investment#Finance#Ownership#Learning#Economics#Innovation#DigitalAssets#MarketTrends#Blockchain#Wisdom#Prosperity#Opinions#Integrity#Wealth#Future#Leadership#Value
Fight Disinformation with AI
INAR .IA Labs & Technologies has raised $1.21M for its innovative SaaS platform aimed at automating the detection and verification of disinformation across online content. Scheduled to launch on December 18, 2024, this multimodal and multilingual tool is set to enhance online security and information integrity. More details can be found at TrueFlag.
#Funding#Technology#AI#SaaS#Disinformation#Verification#OnlineSafety#Security#Innovation#Automation#Multimodal#Multilingual#Integrity#Content#Platform#Launch #2024 #INAR#TrueFlag#Labs
«Привет, Мир»: Исторический снимок Земли с борта Orion на пути к Луне
Дата: 2026-04-04
Автор снимка: NASA, Reid Wiseman, Artemis II
Этот кадр, сделанный с борта космического корабля Orion «Integrity», запечатлел нашу прекрасную планету от полюса до полюса. На снимке - Земля, какой её видят астронавты миссии Artemis II, впервые за 50 лет направляющиеся к Луне.
Что видно на этом снимке?
· Африка и Пиренейский полуостров различимы на поверхности бледно-голубой планеты
· Солнце заходит за яркий край Земли в правом нижнем углу
· Северные сияния коронуют планету сверху справа и снизу слева
Кто и когда сделал этот снимок?
Командир экипажа Рид Уайзман сфотографировал Землю на второй день полёта (2 апреля), сразу после завершения маневра перехода на траекторию к Луне. Этот манёвр вывел Orion с околоземной орбиты и направил его к спутнику.
Исторический контекст:
Такое путешествие (облёт Луны с возвращением) человечество совершало в последний раз более 50 лет назад, во времена программы «Аполлон».
👩🚀Подписатьсяна канал.
#ArtemisII#Orion#Integrity#Земляизкосмоса#снимокЗемли#РидУайзман#астронавты#луна#космос#NASA#возвращениеналУну#пилотируемыйполет#африка#пиренейскийполуостров#северноесияние#южноесияние#история#космическаяфотография