Наверняка вы замечали, что в 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
$PEPE 🐸 has had quite the leap, falling 50% from its high, but the charts suggest a frog-leg kickback might be in sight! Can it reclaim $0.0000014 by Feb end? Only time will tell. #PEPE#Crypto#PricePrediction#Trading📈
📈BTC price at the time of this post: $48041
👉Continue reading
Bitcoin Price Prediction for 2025
James Butterfill, CoinShares head of research, forecasts Bitcoin to hit $80K-$150K in 2025. Trump's pre-election promises could influence the price towards the lower end, while better U.S. regulations might propel it higher. Long-term, Bitcoin's market cap may rise to 25% of gold's, potentially pushing prices to $250K, though this is not expected this year. Details: CoinShares Research
#Bitcoin#Crypto#VC#PricePrediction#MarketCap#Regulations#Gold
Bitcoin Price Predictions for 2025
CoinShares' James Butterfill forecasts Bitcoin to reach between $80K and $150K by 2025. Market corrections may arise due to unmet pro-crypto policies under Trump. A favorable regulatory environment could drive Bitcoin's value toward $250K long-term, increasing its share of the gold market from 10% to 25%. Meanwhile, Bhutan's government has mined Bitcoin for over five years, currently holding over $1.1 billion in Bitcoin as of December 2024. Read more
#Bitcoin#Crypto#Investment#MarketTrends#PricePrediction#Regulation#Bhutan#FinTech#Blockchain#VC
🚀 Zcash's Potential Surge: Traders Predict 60% Chance of Reaching $420
Zcash (ZEC) has experienced a significant rise, with traders on Myriad now predicting a 60% probability of the token reaching $420 this month. According to NS3.AI, Zcash saw an increase of over 62% in the past week, with its price recently hovering around $380. The odds on Myriad shifted dramatically from 80% against the move on Thursday to 60% in favor by Friday.
#Zcash#ZEC#Cryptocurrency#CryptoTrading#PricePrediction#Myriad#NS3AI#CryptoSurge#Blockchain#DigitalAssets
Ethereum ETF Sees Major Inflows
The Ethereum spot ETF recorded a net inflow of $139M last week, with Blackrock's Ethereum ETF, ETHA, gaining $135M. However, on January 27, the crypto market saw declines across sectors, with DeFAI down 28.73%. Other sectors like AI Agents saw a 16.91% drop. U.S. crypto czar David Sacks noted ongoing evaluations regarding Bitcoin and digital assets. Meanwhile, Rosseti, Russia's state power company, plans to introduce Bitcoin mining to leverage idle power resources. Runetoshi's new memecoin, Runes, faced volatility, dropping from $28M to $500k in market value. Arthur Hayes predicts Bitcoin could dip to $70,000 before a future rise to $250,000 this year. More on ETF inflows | Market drop details | David Sacks comments | Rosseti's Bitcoin mining | Runes token collapse | Hayes Bitcoin predictions
#Ethereum#ETF#Crypto#Bitcoin#Russia#Mining#Securities#Stablecoins#PricePrediction#DigitalAssets#Memecoin#MarketDrop#Runetoshi#DeFi#AI#QuantitativeEasing#USDC#WhaleAlert#MarketVolatility#FinancialCrisis#ArthurHayes