Наверняка вы замечали, что в 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
🌍 Each year, vast dust storms from the Sahara cross the Atlantic, carrying nutrients that fertilize the Amazon rainforest. This airborne soil links continents in a natural, global recycling process. ✨
#cycles⚡#atmosphere⚡#continents⚡#geography⚡#nature⚡#earth
👉subscribe Amazing Geography
👉more Channels
🌍 The global carbon cycle constantly moves carbon between the air, land, water, and living things. This cycle helps regulate Earth’s climate by storing and releasing carbon dioxide. ✨
#carbon⚡#climate⚡#cycles⚡#geography⚡#nature⚡#earth
👉subscribe Amazing Geography🌍
🌍 Some lake water can take hundreds of years to fully circulate from the surface to the deepest layers and back again, creating slow, hidden water cycles that influence local climates and ecosystems. ✨
#hydrology⚡#lakes⚡#cycles⚡#geography⚡#nature⚡#earth
👉subscribe Amazing Geography
👉more Channels
🌍 Earth’s tides are driven mostly by the Moon’s gravity, causing oceans to rise and fall all over the globe. These constant movements help mix ocean waters and shape coastal ecosystems. ✨
#tides⚡#ocean⚡#cycles⚡#geography⚡#nature⚡#earth
👉subscribe Amazing Geography🌍
🌍 Earth’s magnetic field flips direction every few hundred thousand years, a process called geomagnetic reversal. These flips are recorded in volcanic rocks and help scientists trace ancient geologic changes. ✨
#geomagnetism⚡#volcanism⚡#cycles⚡#geography⚡#nature⚡#earth
👉subscribe Amazing Geography
👉more Channels
https://x.com/priceactiongann/status/1819774789399224477
#nifty#nifty50#stocks
Price and Time Relation:
strong connection and cycle of 144 and 108 or 1440 and 1080
Nifty low of march 24 , 2020 = 7511 price
Nifty all time high august 1 2024=25078 price
price moved from low to high or total range from low to high is 17567
#trading
Price 17567/144= 122
#priceaction
122x144=17658
Time taken to reach is 1081 bars and 1591 days
1080 trading days or bars to reach from low to high
1080/144=7.5
1080/1440=.75
17657 is price moved and 1081 is time taken
2.177860006167129
17657/1081 =16.33395004625347(163)
16.33395004625347/7.5 =2.177860006167129(216 or 217)
2.177860006167129x5 =10.88930003083565(108 or 1080)
1080 or 1081 days to reach from low to high!
#Stocks
90 years cycle the great cycle is 90x12 =1080 months
18x60(great cycle) = 1080
circle 360 =3 (holytrinity)x360 =1080
3x3x3= 27
27x4 =108
108/3=36
666=6x6x6
also 108 is 18 degree cancer
108 is half of 216 (144 + 72) and its 1/4 of 432
#numerology#financialastrology#astrology
1080/666=1.62
If this post gets 108 likes and 108 comments i will post more calculations
1080/666=1.62 #time#price
one important cycle about above number and how it connects to nifty high
it will deal with other number like 555,666,777 etc.
more u will get in that too once reaches 108 likes and 108 comments here.
#stockmarket#stockmarketcrash#economy#timecycle#pricecycle#gann#cycles
https://x.com/priceactiongann/status/1819774789399224477