Наверняка вы замечали, что в 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
27.03.26 Покровское - Андреевка - Даниловка
Позиционные боевые действия в Днепропетровской зоне безопасности.
Позиции ВС РФ в жилой застройке Андреевки и Даниловки обстреляна с дрона ВСУ. Уточнение зоны контроля ВС РФ в Днепропетровской области.
14:00 47.889146, 36.197578
10:30 47.876300, 36.232817
Источник 21+
Геопривязка
#ru#add
26.03.26 Степногорск - Речное
Активные боевые действия в районе Каменского.
Боевая работа подразделений ВС РФ в населённом пункте Речное и его окрестностях. ВС РФ удерживают под уверенным контролем занятые рубежи по южному берегу реки Конка в районе бывшего Каховского водохранилища.
0:00 47.657223,35.321983
2:50 47.672961,35.319197
Источник https://t.me/Bender_Group1/218
Геопривязка
#ru#add
17.04.26 Купянск - Юбилейный
Позиционные боевые действия в Купянске.
Позиция ВС РФ частом секторе рядом с Юбилейным обстреляна ВСУ.
Боевые действия в 3 км от зоны уверенного контроля ВС РФ. События предположительно март 2026.
49.699130, 37.594947
Источник 21+
Геопривязка
#ru#add
04.02.26 Константиновка - 2-й микрорайон - Центральный - Цинковый
Штурм Константиновки.
Серия авиабомбовых ударов ВКС РФ по позициям ВСУ в районах многоэтажной застройки. Применение авиационных боеприпасов с модулем планирования и коррекции.
Удаление от зоны активных боевых действий от 2 км.
Источник https://t.me/rusich13sho/1405
Геопривязка
#ua#add
@creamy_caprice
Подписаться на канал
@Bahmut_Klehseevka
Чат канала
26.01.26 Константиновка - Новосёловка
Штурм Константиновки.
Успешное поражение после обстрела FPV-дронами ВС РФ бронемашины ВСУ на западе Константиновки.
Удаление от зоны активных боевых действий до 7 км.
Источник https://t.me/yuzhny_front_ZOV/22177
Геопривязка
Геопривязка
#ua#add
@creamy_caprice
Подписаться на канал
@Bahmut_Klehseevka
Чат канала
19.01.26 Константиновка - Центральный
Штурм Константиновки.
После обстрела FPV-дронами ВС РФ бронемашину ВСУ разорвало на части в районе многоэтажной застройки Центральный.
Удаление от мест активных боевых действий около 3 км.
Источник https://t.me/z4lpr/1444
#ua#add
📱@creamy_caprice
21.03.26 Купянск - Юбилейный
Активные боевые действия в Купянске.
Заявлено как движение военнослужащих ВС РФ на западной окраине города. Событие на удаление 3 км от зоны активных боевых действий.
49.69662, 37.59368
Источник https://t.me/operationall_space/10401
Геопривязка
Геопривязка
#ru#add
18.04.26 Гуляйполе - Староукраинка
Активные боевые действия в районе Гуляйполя.
Атака ВСУ механизированной группой в направлении Строукраинки. ВС РФ сожгли оставленный бронеавтомобиль ВСУ около населённого пункта. Боевые действия на разграничении зон контроля.
47.67792, 36.14316
Источник https://t.me/voin_dv/19292
#ua#add
@tlgrmcbot
Qué puede hacer este bot?
Este es el bot oficial de telegramic.org! La gente a menudo me usa para iniciar sesión en el sitio web de Telegramic. Pero puedo hacer más! Si no puede encontrar un contenido de Telegram en Telegramic, ¡puede agregarlo!
Idioma: Inglés
(visto en @BotsGram_cu)
#channels, #search, #index, #bestof, #rating, #reviews, #share, #inline, #explore, #discover, #add, #telegramic, #telegram