Наверняка вы замечали, что в 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
🇺🇸 Logan Riley and Brandon Mitchell went viral over the weekend after a video was shared of them showcasing their crowdfunded surrogacy baby.
“Brandon Keith Mitchell is a Tier 1 sex offender in the state of #Pennsylvania, and was arrested in 2016 after attempting to solicit a 16-year-old boy for sexual abuse,” the outlet reports Reduxx.
Follow us -> LiveLeak
#Senato, #Pennsylvania: Bob Casey, senatore democratico sconfitto alle elezioni del 2024, annuncerà nei prossimi giorni la volontà di sfidare alle primarie democratiche John Fetterman (D).
🇺🇸#Philadelphia/#Pennsylvania (2025)
"The zombies are here"
Philadelphia is facing a devastating drug crisis. In areas like Kensington, users appear frozen, hunched, and unaware, victims of fentanyl or xylazine-laced drugs.
Follow us -> LiveLeak
George Britton — Pennsylvania Dutch Folk Songs (Folkways Records, 1955)
#traditional#guitar#Pennsylvania#United_States
Профессиональный оперный певец Джордж Бриттен родился в Рединге, Пенсильвания. Наследие Бриттена вдохновило его на поиски и изучение музыки его родных мест – песен, которые представляют собой виньетки его пенсильванского детства, от частушек о «раздражающих вечеринках» до стихотворений в честь праздника Фастнахт. Песни исполнены на Пенсильванском немецком языке — разновидности западно-центрально-немецкого языка, на котором говорят потомки немецких иммигрантов в США и Канаде, тесно связанные с палатинскими диалектами. В США и Канаде проживает более 300 000 носителей этого языка. В Пенсильвании 29,9% населения в настоящее время заявляют о немецком происхождении. Вопреки распространенному мнению, слово «dutch» в «Pennsylvania dutch» не является неправильным переводом, а скорее искажением пенсильванско-немецкого эндонима «deitsch», что означает «Пенсильванский немецкий» или «немецкий». Практика Пенсильванского немецкого языка в городских районах Пенсильвании (таких как Аллентаун, Рединг, Ланкастер и Йорк) сокращалась с приходом 20-го века, в то время как в более сельских районах он продолжал широко использоваться во время Второй мировой войны. С того времени его использование значительно сократилось.
Spotify | AppleMusic
📰Pennsylvania Gas Prices Surge Past $4.15 Gallon in Mifflin County Highest Amid Iran Conflict Fuel Crisis
🔗https://keystonegazette.com/pennsylvania-gas-prices-surge-mifflin-county/?utm_source=telegram&utm_medium=social&utm_campaign=zimm-distribute
via Daily Political Press
#CountyGov#Pennsylvania#Gas#Prices#News
📰 AI’s New Frontier Is a Small Town’s Backyard
Archbald, Pennsylvania has become the kind of place where “progress” arrives with chainsaws, diesel generators, and a brochure. Developers want six data center campuses on about 14 percent of the town’s land, and residents are left wondering why an AI boom has to look like a land grab.
The pitch is classic corporate folklore: jobs, tax revenue, future, optimism. The reality is less glossy — forests cut down, neighbors pushed close to massive warehouses, and a community suddenly asked to absorb the noise, water demand, and grid strain for an industry that won’t even say which tech firms will move in.
What makes Archbald interesting is that the backlash is not just environmental. It is political, emotional, and deeply local, with residents flooding meetings, forcing resignations, and turning a sleepy borough into a referendum on who gets to decide the future of a town.
That’s why the fight keeps spreading. Data centers are being sold as invisible infrastructure, but people living next to them are discovering they are anything but invisible once the stumps, generators, and property lines show up.
So the AI economy’s clean little slogan runs into the oldest American response: not here, not on our land, and not without a real answer about who pays the price.
#AI#dataCenters#Pennsylvania#Archbald#development#localpolitics
📱American Оbserver - Stay up to date on all important events
🇺🇸