TGTGInsighttelegram intelligenceLIVE / telegram public index
← Python Заметки

TGINSIGHT SIMILAR POSTS

Најди сличен содржај

Изворен канал @pythonotes · Post #303 · 27 дек.

Наверняка вы замечали, что в 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

Hashtags

Резултати

Пронајдени 2 слични објави

Пребарај: #easternghouta

当前筛选 #easternghouta清除筛选
Анна Чапман

@chapmananya · Post #256 · 27.02.2018 г., 15:01

«Россия несет ответственность за гибель людей от химического оружия в Сирии» – так утверждает госсекретарь США Рекс Тилерсон. Якобы Башар Асад не выполнил соглашение 2013 года об уничтожении своего химического оружия, травит своих граждан, а мы его защищаем. К слову о выполнении соглашений. Россия свои химарсеналы полностью ликвидировала полгода назад. США – до сих пор нет – говорят, им денег на это не хватает… Что касается Сирии, то не было предъявлено никаких доказательств, что за химатаками стоит правительство Асада, но эти нападения все время пытаются использовать как повод для бомбардировок страны. Тут президент Трамп назвал наши действия в Сирии гуманитарным позором, – мне порой кажется, что политики США никогда не слышали о таких словах, как «стыд» и «совесть». #idlib#Восточнаягута#UN#MiddleEast#ISIS#terrorism#геополитика#easternghouta#Damascus

Анна Чапман

@chapmananya · Post #248 · 23.02.2018 г., 13:00

Российские войска в Сирии переключили основное внимание с северной провинции Идлиб на борьбу с террористами в пригороде Дамаска под названием Восточная Гута. Боевики уже 6 лет держат под контролем территорию возле сирийской столицы, которую можно было бы сравнить с подмосковным городом Королев или Мытищи. Едва наши летчики вместе с сирийскими наземными войсками всерьез взялись за ликвидацию этого оплота террористов, как политики США и даже генсек ООН в один голос начали требовать прекращения операции. Снова обвинения в военных преступлениях, снова заявления о гуманитарной катастрофе, снова надо прекратить страдания «умеренных» террористов. Желаю максимальных успехов российским и сирийским защитникам отечества. А западные политики пускай говорят, что угодно. #idlib#Восточнаягута#UN#MiddleEast#ISIS#terrorism#геополитика#easternghouta#Damascus