Наверняка вы замечали, что в 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
Le Forze di Difesa del Popolo, #HPG/#PKK: "Dal 22 al 23 marzo, le forze armate della Repubblica di #Turchia, hanno colpito le zone delle nostre basi 1045 volte, con gli aerei, elicotteri, carri, armi pesanti e obice. Abbiamo risposto".
«Тактика выжженной земли» или война по-турецки
Капиталистические политические режимы похожи друг на друга. Причем сходство между ними проявляется и в отношении класса угнетателей по отношению к другим классам, и в выборе методов достижения своих хищнических целей. Глядя на то, как турки ведут военные действия в Рожаве, и Южном Курдистане, не вольно на ум приходят образы вьетнамской войны, где армия США применяла печально известную тактику «выжженной земли».
Бомбардировка турецкой авиацией населенных пунктов в окрестностях города Захо области Духок в Южном Курдистане 8 августа 2020 года, из-за которой пострадало мирное население не первое подобное преступление. Оно стало очередным звеном в цепи актов военной агрессии, совершаемых турецкой армией уже не первый год. Но приобрели они интенсивность после 15 июня этого года, когда кабинет Эрдогана провозгласил начало новой захватнической операции в Южном Курдистане под предлогом борьбы против партизанских формирований Народных сил самообороны (#HPG).
Собственно, любая война всегда связана с жертвами. И гражданское население, к несчастью, страдает не в меньшей степени. Но у любой войны есть правила, в конце концов, есть и нормы международных конвенций…
Что же мы видим на деле – как только Турция наносит очередной удар по мирным объектам в районах Южного Курдистана, где органы власти подотчетны Демократической партии Курдистана (#ДПК), барзанисты максимально начинают «разъяснять» местным жителям, что все их беды не от того, что Турция их бомбит, а что этому виной Рабочая партия Курдистана (#РПК). Призывают симпатизирующее партии население не оказывать помощь партизанам, сообщать в соответствующие органы, если их отряды появляются в округе. В лучших традициях американской контр-партизанской тактики, которая применялась во Вьетнаме.
Да, конечно, нельзя ставить под один гребень всех курдов, живущих на подконтрольной ДПК территории, ответственность за сотрудничество с врагом лежит на совести исключительно конкретных официальных лиц, которые следуют в фарватере политического курса «династии» Барзани (#Barzani). На самом деле и жители Автономного Курдистана, и бойцы тех же отрядов Пешмерге (#Peşmerge) в массе своей поддерживают именно партизан, разделяя, в общем-то, идеологию «апочистов» (#ApocuHareket).
Об этом, кстати, не раз говорил наш товарищ, военный журналист и эксперт в курдском вопросе @qashqul, который сам побывал свидетелем сочувствующих настроений среди бойцов Пешмерге по отношению к РПК…
Об этом и многом другом знаем не понаслышке. Не скрывают своих явно пропартизанских взглядов и некоторые генералы Южного Курдистана которые в доверительных беседах не раз говорили, что, видя на вопиющее предательство элиты ДПК и сотрудничество с режимом Эрдогана, ушли бы в горы к РПК. Только вот политический курс барзанистских лидеров от этого сильно не меняется.
Надеемся, что такие факты, о которых мы поделились с Вами, наши уважаемые читатели, все же станут известны широким кругам мировой общественности.
#MuratKarayilan (#HPG, cofondatore #PKK): «Non abbandoneremo il popolo di #Rojava, costi quel che costi. #Turchia parte attiva negli attacchi in #Siria. Non si può parlare di pace e colpire i curdi. Responsabilità anche di #USA, #UK, #Germania, #Francia»
📌📽 Отличная подборка от канала @Gerilla_Tv🇬🇫🇻🇳
Для тех, кто понимает турецкий язык, вообще без улыбки смотреть не возможно 🇹🇷☠️...
#ApocuHareket#Başûr#Kurdistan#PKK#HPG#TürkiyeSaldırı#TürkPolitikası#FaşistTürkDevleti#Kurdistan
🆔@jiyana_nu
Барзанисты встали на тропу войны...
Минувшая неделя ознаменовалась беспрецедентным для медиа-пространства выступлением Демократической партии Курдистана (ДПК) и представителей Регионального правительства Курдистана против движения «апочистов» в лице Союза общин Курдистана (Koma Civakên Kurdistan – KCK) и Рабочей партии Курдистана (РПК). Нельзя сказать, что ситуация стала неожиданностью для Кандиля, и, в первую очередь, это связано с тем, что в «грязных политических» технологиях всегда применяется принцип «лучшая защита – нападение». А РПК давно не питает иллюзий насчет того, каково истинное отношение клана Барзани к партии, поэтому всегда готова принять удар.
Какова истинная подоплека начатой барзанистами кампании против курдского движения? Что и кто стоит за хаотичными информационными атаками ДПК? К чему они приведут в ближайшем будущем? И, наконец, какой возможный ответ приготовит РПК для главной протурецкой политической силы внутри курдского мира?
На все эти вопросы авторский коллектив канала Jiyana_Nû постарается ответить в еженедельной редакционной статье, предложенной Вашему вниманию >>>
#Barzani#Talabani#PKK#KCK#HPG#KDP#PUK#ДПК#ПСК#Горан#Erbil#Duhok#Suleymaniyah#Qandil#BashureKurdistan#Başur#Parastin#MİT#Asayiş#ПротестыБашур
🆔@jiyana_nu
Всем известно, что дружба – это всегда равноправные долговременные отношения. Товарищество – это отношения, основанные на общности интересов и идейных взглядов. Но это в жизни и в политической борьбе.
В дипломатии же, а в военной дипломатии, особенно, не может быть ни дружбы, ни товарищества. Есть лишь совпадение интересов; оно может быть временным, либо вариант второй - когда слабый игрок следует в фарватере интересов игрока более сильного.
О приоритетах внешней политике США в Большом Курдистане, попытках «слива» Рабочей партии Курдистана, усилении роли Турции и кризисе власти в северо-иракской курдской автономии в еженедельной редакционной статье канала @jiyana_nu.
#BaşureKürdistan#PKK#HPG#Qandil#Erbil#Duhok#AsSuleymaniyah#Rojava#Barzani#Talabani#KDP#PUK#Goran#SyrianWar#StopISIS#ДПК#ПСК#РПК#Барзани#Талабани#Рожава#USPolicy#MiddleEast