Наверняка вы замечали, что в 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
⚫️ У правящей партии мысль об европейской интеграции переводится просто: униря. Ткачук рассказал о "проевпропейскости" PAS и Ивана Чебана.
◻️ О PAS:
"Я не верю в проевропейскость правящей партии, потому что это чистая геополитика. ... У нас же теперь всё про геополитику. При этом мы существуем в условиях чрезвычайного положения, в условиях внесудебных санкций и решений, причём секретных, в условиях цензуры. Мы существуем в условиях, когда над Конституцией издеваются, как хотят. Мы существуем в условиях, когда спецслужбам предоставляются права Третьего жандармского управления времён Николая II..."
◻️ О Чебане:
"Его европейская интеграция видна. При всём том, что Чебану иногда хочется бежать впереди паровоза и биться головой об пол, и кричать: "Я свой, я буржуинский!" При этом мы видим определённые проекты, форумы, мероприятия..."
#гражданскийконгресс#congresulcivic
✅Перед выборами Санду обещала лично договариваться о газе.
👉Из предвыборной программы кандидата в президенты Майи Санду:
"Проведу переговоры с Россией с целью разрешения проблем, связанных с поставкой природного газа по конкурентоспособным ценам».
✅Провела? Нет, Санду заявила, что это не её дело, а договариваться должны хозяйствующие субъекты.
🟥Результат известен: за её нарушенное предвыборное обещание и за её геополитические комплексы платим все мы, причём, ежемесячно.
#гражданскийконгресс#congresulcivic
❗️Михаил Полянский, член Исполкома Гражданского конгресса, отмечает, что в Молдове ввели ЧП не из-за долгов, а из-за некомпетентности высшего руководства страны: «Потому что тема аванса, частичной предоплаты за потреблённый газ – это не нововведение».
«Власти просто забыли про условия договора. И если у экономического агента нет денег, то правительство должно вмешаться. Иначе пострадают граждане страны. И тут следует понимать, что государство может сделать всё что угодно (соблюдая законную процедуру): и дать денег экономическому агенту, и одолжить... Только решать вопрос надо вовремя, а не когда сотрудники «Газпрома» уже подошли к вентилю газовой трубы», - пишет Полянский.
▫️Он подчеркнул, что за жизнь и здоровье граждан отвечает не хозяйствующий субъект, а государство.
"Если страна погружается в хаос, то спрашивать, по-моему, нужно именно с властей. Особенно в ситуации, когда по их вине, из-за отсутствия логики в действиях, происходит этот цирк», - подчеркнул он.
#гражданскийконгресс#congresulcivic
💬«Важно понимать, что не существует просто приднестровской проблемы между Кишиневом и Тирасполем, есть вопрос сохранения молдавской государственности и ее независимости.
Для кого это не пустые слова — приднестровский вопрос является принципиальным. Для тех, кому независимость не нужна, Приднестровье — чемодан без ручки, от которого надо избавиться и провести границу по Днестру», - отметил Марк Ткачук, комментируя для Коммерсанта, назначение Олега Серебряна на должность вице-премьера по реинтеграции.
#гражданскийконгресс#congresulcivic
⚡️ «Совершенно не ясно, как долго будет тепло в домах и не окажемся ли мы в условиях двойного чрезвычайного положения. И по газу, и по пандемии.
Так что десяткам тысяч наших граждан, судя по всему, лечить пневмонии придётся в холодных домах и в неотапливаемых больницах. Это фиаско»,
- Михаил Полянский, представителель Исполкома Гражданского конгресса.
#гражданскийконгресс#congresulcivic
◽️ Политическая партия «Гражданский конгресс», которая пытается исповедовать подход нового типа (коллективное действие) после полугодового перерыва оправилась от поражения на выборах и собрала не только представительное мероприятие, но и мириады откликов на него в прессе, передает eNews.
#congresulcivic#гражданскийконгресс
❗️Igor Boțan a participat, la finele anului trecut, la ședința deschisă a plenului Partidului Acțiunii Comune „Congresul Civic”.
Comentând alocuțiunea lui Mark Tkaciuk, el a declarat că „Congresul”, potrivit observațiilor sale, pledează pentru trei importante transformări ale societății moldovenești. Prima dintre ele: cetățenii trebuie să înceapă a administra viața politică, relateaza Tribuna.
#congresulcivic#гражданскийконгресс
🤟"Давайте вместе откажем каким-то людям в возможности жить за наш счёт! То есть, быть каннибалами в социальном смысле! Давайте учиться проявлять солидарность не только по политическому признаку"
#congresulcivic#гражданскийконгресс
👉Результат «Гражданского конгресса» на парламентских выборах Иван Грек объяснил тем, что «наш избиратель, давно расфасованный по геополитическим корзинам, никак не может быстро и решительно обратить свой взор на тех, кто предлагает ему взглянуть на самих себя, на свое государство, на его и свое будущее».
#гражданскийконгресс#congresulcivic
⚡️Гражданский Конгресс заявляет: больше человеческих жертвоприношений быть не должно. Мы считаем, что мы – граждане Молдовы – приносим эти жертвы не от того, что мы бедные.
А мы бедные от того, что готовы всякий раз поступиться самым дорогим, чем нас наградила природа и история – жизнью и социальной свободой.
#congresulcivic#гражданскийконгресс