Наверняка вы замечали, что в 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
🔒Are you worried about the safety of your digital assets?
That should be the least of your worries with Go! smartchain onboard
Dig deeper here 👇
https://gosmartchain.ai
Tokenization on Go! SmartChain AI. offers enhanced security features to keep your investments safe
In addition to that, your transactions is made permanent and transparent
And your digital assets safe from the risk of fraudulent activities
#Tokenization#BlockchainSecurity#GoSmartChain#DigitalAssets
-----------------
Join: 🐣X✉️Chat✉️News🤖Discord
Play: 🕹️TON App💻Web App
Info: 🖥Newsletter🌐Website🌐Blog
🌟 Revolutionize with RealFi by Go! SmartChain AI! 🌟
Here's a sneak peak into how Realfi is transforming communities with Go!👇
🔗https://goplatform.io/blog/introducing-realfi-transforming-communities-with-decentralized-ai
RealFi represents a significant leap in integrating AI, blockchain, and community-driven initiatives
With the ability to tokenize anything in seconds, RealFi makes the process simple, fun, and rewarding for you to participate and benefit.
Join Go! on this transformative journey.
#Realfi#Gosmartchain#AI#blockchain#tokenize
-------------------------
Join: 🐣X✉️Chat✉️News🤖Discord
Play: 🕹️TON App💻Web App
Info: 🖥Newsletter🌐Website🌐Blog
Every transaction tells a story.
Validated. Broadcast. Secured on Go! SmartChain.
This is how real-world value becomes digital — fast, transparent, and verified.
💡 Try it yourself: https://app.gosmartchain.ai
#GSMC#GoSmartChain#RWA#RealFi#Blockchain
🚀 Time to Check In, Go! SmartChain AI Community!
Check in now if you're yet to👇
🔗https://t.me/thegoprojectbot?start=twitter
Here's an another opportunity to increase your daily dose of engagement and rewards! 🎮💰
And once you're in
1. Click "Open App" to get started
2. Tap the Go! token to collect rewards
3. Complete your daily tasks and quests to earn GoXP
Most importantly,
Stay active and climb your way to the top. Your participation paves the way for you 💪
#CheckIn#EarnRewards#GoSmartChain#GoTonapp
-----------------
Join: 🐣X✉️Chat✉️News🤖Discord
Play: 🕹️TON App💻Web App
Info: 🖥Newsletter🌐Website🌐Blog
Owning real assets just got easier.
Buy, trade, and track tokenized assets directly with $GSMC in one seamless experience.
Real value. Real ownership. RealFi in motion.
🌐https://app.gosmartchain.ai
#GSMC#GoSmartChain#RWA#Tokenization#RealFi
🚀 Ready to build & secure the future of decentralized finance? Dive into a day in the life of a developer & validator on the Lysa Testnet! Learn how to create dApps, validate blocks, and earn rewards on Go! SmartChain AI. Explore more👇
👉https://tally.so/r/wQYoxl
#Blockchain#DeFi#RealFi#LysaTestnet#GoSmartChain#developers#validators#BlockchainGaming
-----------------
Join: 🐣X✉️Chat✉️News🤖Discord
Play: 🕹️TON App💻Web App
Info: 🖥Newsletter🌐Website🌐Blog