Наверняка вы замечали, что в 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
💢Cyberattaque contre Aeroflot
La principale compagnie aérienne russe, #Aeroflot, a subi une cyberattaque. Un coup porté au moment où les forces armées ukrainiennes adoptent un changement de tactique et se donnent pour objectif de perturber le bon déroulement des aéroports civils russes. Les détails avec Igor Kourachenko qui s'est rendu sur place.
RT en français • Osez questionner !
Делимся прекрасными обоями с прекрасным самолётом 👆
____________
И это только первая часть
🤫
Без сжатия в комментариях ниже под постом
Лёгкое небо | Донат
#aviation#Aeroflot#A350
Ливрея в стиле ретро — это целая история. Сегодня на солнечном перроне "Гагарина" самолет А320 авиакомпании "Аэрофлот" в ретро-ливрее "Добролёт" в честь акционерного общества добровольного воздушного флота, учрежденного 17 марта 1923 года.
#gsv#Аэрофлот#Aeroflot
✈️
Подписывайтесь на новости аэропорта "Гагарин"!
Читайте нас в MAX
✈️ Лучшая авиакомпания страны?
📌Как часто летаете Аэрофлотом?
✈️ - 5 раз в месяц и чаще
✈️ - 2-4 раза в месяц
✈️ - 1-2 раза в месяц
🔥 - Лишь раз в сезон
🛫 - Раз в год
🫡 - Ни разу не летал
👨✈️ - Работаю в авиакомпании
Лёгкое небо
#aviation#Aeroflot#Аэрофлот#опрос
До редакции нашего канала дошла секретная информация 🔥
Совсем скоро Аэрофлот планирует совершить масштабный заказ на 15 самолётов A380, планируемая дата покупки - 30 февраля ❤️
Следим за новостями!
Лёгкое небо
#A380#aviation#Aeroflot#Аэрофлот
✈️Аэрофлот» — российская государственно-частная авиакомпания, полное наименование — публичное акционерное общество «Аэрофлот — российские авиалинии» (ПАО «Аэрофлот»)
⏺Основана 17 марта 1923 года
⏺С апреля 2006 года входил в состав авиационного альянса SkyTeam, с 30 апреля 2022 года членство временно приостановлено.
⏺Вместе с дочерними авиакомпаниями «Россия» и «Победа» образует авиационный холдинг «Группа „Аэрофлот“», который входит в число двадцати ведущих авиаперевозчиков мира по пассажиропотоку.
⏺Выполняет внутренние и международные рейсы из московского аэропорта Шереметьево и аэропорта Красноярск.
⏺По состоянию на декабрь 2025 года парк авиакомпании «Аэрофлот» насчитывает 171 самолёт, из которых 41 — широкофюзеляжный, 130 — узкофюзеляжные среднемагистральные.
B777 — 22;
B737 — 37;
A350 — 7;
A330 — 12;
A321/А321NХ — 35;
A320/А320NEO — 58.
🧳В период до 2030 года «Аэрофлот» планирует получить 210 самолётов МС-21, 89 самолётов SJ-100 и 40 Ту-214.
🌏 По данным на Декабрь 2025 года, «Аэрофлот» напрямую выполняет рейсы по 151 направлению, а вся группа компаний «Аэрофлот» (включая «Россию» и «Победу») — примерно по 292 направлениям из аэропорта Шереметьево.
Легкое Небо
#аэрофлот#aeroflot#russia#airlines
«Детская любовь к самолетам», 70х100см, холст, масло, Doping Pong, 2023
Аукцион VLADEY RUSSIA
Живые торги в зале!
Участие онлайн и по телефону
Трансляция на сайте
4 июля в 20:00
Предаукционная выставка: 23 июня — 4 июля
C 11:00 До 22:00, без выходных
VLADEY
Неглинная, 14 стр. 1А, вход 4
More info: Лот 62
https://vladey.net/ru/lot/10768
#dopingpong#ussr#retro#aeroflot#childhood#love#airplane#pulkovo#oiloncanvas