Наверняка вы замечали, что в 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
In germany there is a group called FreieDeutscheGesellschaft.org
Experimenting with the LoRa technology.
https://t.me/FDG_Portal
loRa is super effective in Cities, but not in the countryside.
Therefore we switched to the Reticulum Protocol, which allows us to use litte computers like raspberrypi as Gateways, for connecting Lora, CB, Wifi and even more.
First we tried Meshtastic, but there were many problems with messaging using many nodes.
Nodes not waking up after sleeping for some time.
And many problems with the APP, and interoperabilities.
So we decided to stop the complete Process, because we needed a strong base first, before expanding.
We found reticulum was better in many ways for this usecase, since then we are using it.
https://github.com/markqvist/Reticulum
Hw list:
https://t.me/NoGoolag/11676
#communications#im#lora
Corporate Communications Manager for Cartier (Dubai)
Cartier has a unique opportunity to join our regional team as Corporate Communications Manager, supporting all corporate communication for the MEIA region. In this role you will support the development and implementation of the corporate communications strategy that builds and maintains a positive corporate brand (Cartier commitments, Diversity, Equity & Inclusion, Art & Culture).
The functions will include: development of an annual editorial calendar that will cover all topics relevant to Cartier and its international, regional and local commitments; support for all corporate communications on various online and print platforms, including LinkedIn, Twitter and trade magazines.
Подробнее по ссылке
#communications#cartier#dubai
Если вам интересны топ вакансии с возможностью релокации в Арабские Эмираты, Саудовскую Аравию, Катар, Бахрейн, Кувейт, подпишитесь на наш канал
📌CPDLC — когда пилоты пишут, а не говорят
Радиосвязь — привычный способ общения пилота и диспетчера. Но в некоторых зонах мира, особенно над океаном, она заменяется цифровой связью — CPDLC (Controller-Pilot Data Link Communications).
🧠 Что это такое?
CPDLC — это обмен короткими текстовыми сообщениями между экипажем и диспетчером. Выглядит как мессенджер в кабине:
✈️ диспетчер отправляет сообщение — «Climb FL380»
👨✈️ пилот нажимает «Wilco» (выполню) — и всё, никаких переговоров по радио.
🛰Зачем это нужно?
⏺На эшелонах и в океанических зонах голосовая связь часто недоступна или перегружена.
⏺CPDLC уменьшает нагрузку на радиоэфир и исключает ошибки из-за акцентов, помех или заговорённости частот.
⏺Все сообщения фиксируются в системе — исключён фактор «не так понял».
💬Как это работает?
📌CPDLC используетсяпочти по всему миру, исключая несколько стран
Пилот и диспетчер подключаются к одной и той же системе, и весь обмен происходит через спутник или наземную станцию. Занимает это несколько секунд, а результат — высокая точность и спокойствие в эфире.
❓Интересный факт
Некоторые авиакомпании уже полностью перешли на CPDLC в дальнемагистральных рейсах, а в Европе в будущем планируется обязательное использование в верхнем воздушном пространстве. Так что «поговорить» по радио получится не всегда
🔔 Пишите в комментариях: знали ли вы, что у пилотов есть свой «авиа-мессенджер»?
Легкое Небо
#ATC#pilot#CPDLC#communications