Наверняка вы замечали, что в 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
Гамму BAW 212 в РФ значительно расширят
Гамму рамного внедорожника BAW 212 в России значительно расширят в 2026 году. Об этом сообщает «Российская газета» со ссылкой на официальных представителей дистрибьюторской компании #BAW в РФ.
В первой половине текущего года россиянам начнут предлагать 5,5-метровый пикап с двухрядной четырехдверной кабиной.
В тот же период появится версия 212 T01 Changfeng Diesel — со связкой турбодизеля и "автоматом" ZF. Специально для РФ мощность мотора на тяжелом топливе снизят до 159 л.с.
К концу 2026-го ожидается трехдверный вариант BAW 212.
Также на российском рынке должна появиться модификация 212 T01 Gaodi, адаптированная для езды по экстремальному бездорожью. У неё имеется дополнительная защита бамперов и порогов, экспедиционный багажник и заводской инструментальный ящик.
Стандартный пятидверный BAW 212 стоит в России от 4,3 млн рублей.
Источник: news.drom.ru/BAW-212-101642.html
#RCINews
Рамный BAW 212 T01 сертифицировали в России
В России, наконец, появятся автомобили BAW с ОТТС, запуск которых был анонсирован ещё летом: первым сертификат получил рамный внедорожник 212 T01, который из-за отдалённого сходства с УАЗ "Хантер" прозвали "китайским УАЗом". Как сообщил представитель #BAW, сертификацию прошла версия Adventurer RUS, адаптированная для российского рынка.
Исполнение Adventurer RUS, разработанное специально для РФ, отличается расширенным зимним пакетом подогревов и русифицированным интерфейсом мультимедийной системы. В оснащение также входят электрорегулировки и функция массажа у водительского кресла, камеры кругового обзора и беспроводная зарядка для смартфона. Внедорожник в такой комплектации был выставлен на продажу за 4 340 000 рублей.
BAW 212 предлагается в России с бензиновым турбомотором объёмом 2.0 литра и мощностью 238 л.с. Коробка — 8-диапазонный «автомат», привод полный. В подвеске применены неразрезные мосты, имеется блокировка межосевого дифференциала.
Источник: auto.ru/mag/article/ramnyy-vnedorozhnik-baw-212-t01-sertificirovali-v-rossii/
#RCINews
#Israele
Benny #Gantz (#BaW|Centro) ha per la prima volta aperto a nuove elezioni: “Per poter mantenere l’unità, il pubblico deve sapere che presto torneremo a chiedere la loro fiducia. Non ignoriamo il 7.10, quindi dobbiamo raggiungere una data elettorale concordata verso settembre. Ho discusso una data elettorale concordata con i leader politici.“
@OsservatorioEsteri
#Israele
È stato raggiunto un accordo tra il Premier Benjamin #Netanyahu (#Likud|ECR) e l'ex Ministro della Difesa Benny #Gantz (#NUP/#BaW|Centro) per la formazione di un governo d'emergenza nazionale.
@OsservatorioEsteri
#Israele
Il partito #BaW|Centro, che esprime Benny #Gantz e Gazi #Eisenkot nel gabinetto di guerra israeliano, ha presentato una proposta per sciogliere la #Knesset.
La coalizione di unità nazionale tra BaW e il #Likud|ECR sia avvia a volgere al termine.
@OsservatorioEsteri