Наверняка вы замечали, что в 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
У самолета Boeing 777 United Airlines отвалилось колесо во время взлета в Сан-Франциско
Колесо оторвалось сразу после взлета, обломки упали на парковку для сотрудников аэропорта. На земле никто не пострадал, однако поврежден один автомобиль.
Самолет приземлился в Лос-Анджелесе без происшествий. На борту находилось 235 пассажиров, 10 бортпроводников и четыре пилота. Федеральное управление гражданской авиации США начнет расследование.
#UnitedAirlines
ЗАРУБЕЖ
🇺🇸Boeing 737 United Airlines столкнулся с двумя машинами противообледенительной обработки в Денвере
📌6 марта Boeing 737-800 United Airlines, готовившийся к рейсу в Нэшвилл, начал руление преждевременно и ударил крыльями две противообледенительные машины. Экипаж решил, что обработка завершена и техника убрана за линии безопасности, хотя два автомобиля всё ещё стояли перед крыльями. Одна из машин от удара опрокинулась на бок
🔵По данным NTSB, пилоты были заняты разговором, когда второй пилот услышал брифинг от наземной команды и подтвердил его. Капитан не был уверен, что сообщение адресовано их рейсу. После получения разрешения на руление самолёт тронулся – наземная бригада не успела его остановить
🔵Из 136 человек на борту никто не пострадал, один сотрудник наземной службы получил незначительные травмы. Самолёт получил серьёзные повреждения крыльев, элеронов и предкрылков. Расследование продолжается
⬅️Как думаете, чья ответственность в данной ситуации – экипажа или наземной службы?
Лёгкое небо
#aviation#news#UnitedAirlines#B737#Денвер#NTSB
✈️Новости авиации и транспорта в регионе
Летний сезон в Латинской Америке начался с динамичного расширениятранспортной инфраструктуры и новинокот ведущих авиакомпаний и операторов круизов.
Новые маршруты, международные партнёрства и технологические инновации формируют облик путешествий в регионе👇
🔹United Airlines усиливает связь между США и Латинской Америкой
Американский авиаперевозчик открыл новые маршруты из Денвера в Мехико (Мексика) и Пунта-Кану (Доминиканская Республика), делая популярные туристические направления ещё доступнее для путешественников из североамериканского центра.
🔹Emirates выходит на Карибы через партнерство с Bahamasair
Благодаря новому код-шеринговому соглашению с Bahamasair, авиакомпания Emirates теперь предлагает пассажирам доступ к нескольким направлениям на Багамах с пересадкой в Майами. Это стратегическое расширение позволяет объединить Ближний Восток с Карибами и укрепить глобальную маршрутную сеть.
🔹Flying Blue отмечает 20-летие
Программа лояльности Flying Blue, объединяющая Air France и KLM, празднует 20 лет работы, предоставляя эксклюзивные предложения и бонусы своим участникам. Программа продолжает быть одной из самых популярных среди часто летающих пассажиров между Европой и Латинской Америкой.
🔹Arajet запускает прямой рейс в Нью-Йорк
Доминиканская бюджетная авиакомпания Arajet открыла новый прямой маршрут Санто-Доминго — Нью-Йорк. На церемонии открытия присутствовал министр туризма Давид Колладо, который отметил, что этот шаг укрепит связи с диаспорой и увеличит турпоток между США и Доминиканой.
🔹MSC представляет инновацию на борту лайнера
Круизная компания MSC Cruceros представила ROBOTRON — захватывающий роботизированный аттракцион, установленный на борту нового лайнера, пришвартованного в Техасе.
Это интерактивное развлечение сочетает в себе виртуальные технологии и физическое движение, превращая морские путешествия в настоящий парк аттракционов на воде.
#Авиановости#ЛатинскаяАмерика#Карибы#Туризм2025#Arajet#UnitedAirlines#Emirates#MSC#FlyingBlue#Путешествия#НовостиТранспорта#Авиасообщение#Багамы#Доминикана#НьюЙорк#Мехико#ПунтаКана
👉Всегда свежие новости о странах Латинской Америки!