Можно ли в Python создавать бинарные файлы? Конечно можно.
Для этого в Python есть следующие инструменты:
▫️ тип данных bytes и bytearray
▫️ открытие файла в режиме wb (write binary) или rb (read binary)
▫️ модуль struct
Про модуль struct поговорим в первую очередь.
Файл в формате JSON или Yaml внутри себя содержит разметку данных. Всегда можно определить где список начался а где закончился. Где записана строка а где словарь. То есть формат записи данных содержит в себе элементы разметки данных.
В binary-файле данные не имеют визуальной разметки. Это просто байты, записанные один за другим. Правила записи и чтения находятся вне файла.
Модуль struct как раз и помогает с организацией данных в таком файле с помощью определения форматов записи для разных частей файла.
Модуль struct преобразует Python-объекты в массив байт, готовый к записи в файл и имеющий определённый вид.
Для этого всегда следует указывать формат преобразования (или, как оно здесь называется - запаковки).
Формат нужен для того, чтобы выделить достаточное количество байт для записи конкретного типа объекта. В последствии с помощью того же формата будет производиться чтение.
При этом следует помнить что мы говорим о типах языка С а не Python.
Именно формат определяет, что записано в конкретном месте файла, число, строка или что-то еще.
Вот какие токены формата у нас есть.
Помимо этого, первым символом можно указать порядок байтов. На разных системах одни и те же типы данных могут записываться по-разному, поэтому желательно указать конкретный способ из доступных. Если этого не сделать, то используется символ '@', то есть нативный для текущей системы.
В строке формата мы пишем в каком порядке и какие типы собираемся преобразовать в байты.
Запакуем в байты простое число, токен "i".
>>> import struct
>>> struct.pack('=i', 10)
b'\n\x00\x00\x00'
Теперь несколько float, при этом нужно передавать элементы не массивом а последовательностью аргументов.
>>> struct.pack('=fff', 1.0, 2.5, 4.1)
b'\x00\x00\x80?\x00\x00 @33\x83@'
Вместо нескольких токенов можно просто указать нужное количество элементов перед одним токеном, результат будет тот же.
>>> struct.pack('=3f', 1.0, 2.5, 4.1)
b'\x00\x00\x80?\x00\x00 @33\x83@'
Теперь запакуем разные типы
>>> data = struct.pack('=fiQ', 1.0, 4, 100500)
я запаковал типы float, int и unsigned long long (очень большой int, на 8 байт)
b'\x00\x00\x80?\x04\x00\x00...'
Распаковка происходит аналогично, но нужно указать тот же формат, который использовался при запаковке. Результат возвращается всегда в виде кортежа.
>>> struct.unpack('=fiQ', data)
(1.0, 4, 100500)
Как видите, ничего страшного!
#lib#basic
🔎С Днём авиадиспетчера!
📌Сегодня редакция нашего канала поздравляет всех, кто отвечает за организацию воздушного движения в России.
Работа диспетчерских служб не прекращается ни на минуту — именно благодаря вам обеспечиваются безопасность и регулярность полётов по всей стране.
⏺Авиадиспетчеры круглосуточно контролируют воздушные трассы, направляют экипажи самолётов и вертолётов, помогая им безопасно проходить тысячи километров неба над нашей Родиной.
⏺Управление воздушным движением требует огромной подготовки, самоотверженности и постоянного совершенствования навыков.
⏺Без профессионализма, прочной учебной базы вузов Росавиации и мудрых советов опытных ветеранов невозможно представить стабильную работу гражданской авиации России.
📌Редакция нашего канала поздравляет всех работников служб управления воздушным движением за верность профессии и добросовестный труд! Вы заслуживаете глубочайшего уважения за своё мастерство и преданность делу.
Лёгкое небо
#aviation#ATC#Россия
✈️Как в 1930-х появилась инфраструктура авиации
📌К началу 1930-х самолёты уже были надёжными, но летать по расписанию не могли. Аэродромы — грунтовые поля, навигация — по железным дорогам и рекам, прогноз погоды — устаревшие телеграммы, управление движением — отсутствовало
🔵На протяжении десятилетия появилось всё сразу. Бетонные ВПП — когда тяжёлые лайнеры стали увязать в грунте. Радиомаяки — когда авиакомпании потеряли слишком много машин из-за потери ориентировки в облаках. Авиационная метеослужба с регулярными прогнозами — предшественники современных METAR. В 1935 году в Ньюарке открылся первый центр управления воздушным движением: диспетчеры двигали фишки по карте, отслеживая борта по докладам пилотов
🔵К 1940 году всё работало вместе: брифинг погоды, бетонная полоса, радиолуч, диспетчер, заход по приборам. Самолёты 1930-х давно забыты. Инфраструктура, созданная тогда, в развитом виде работает до сих пор
⬅️Полная версия — на сайте
Лёгкое небо × SkyMoments
#aviation#LN_EDU#история#ATC#навигация
Всем привет! На связи диспетчер Катя
⏺Почему выбор пал именно на эту профессию?
Я была убеждена, что буду развиваться в медицинской среде, очень хотела, прямо таки мечтала стать стоматологом-ортодонтом. Однако, за две недели до экзаменов в девятом классе, я приняла кардинально иное решение: "
Пойду в авиацию
".
⏺Как складывался твой путь в авиации?
Изначально я думала стать пилотом, и в моем классе, к слову, было еще два парня, которые хотели выбрать именно эту профессию. В 11-м классе, здраво размышляя, я чуть скорректировала вектор и определила стать авиадиспетчером. С тех пор я ни разу не пожалела. Я поступила в ВУЗ без каких-либо проблем, у меня был высокий балл по ЕГЭ, и самое главное — желание учиться новому. В моей семье нет никого из авиации, поэтому я иду своей дорогой.
⏺Что ты можешь сказать о профессии диспетчера?
Однозначно, в ней я нашла свои черты характера: они очень хорошо раскрываются именно на этой работе. В ней идеально сочетаются как четкое следование правилам, так и творчество. И, конечно, большая любовь к самолетам.
⏺Посоветовала бы ты молодому поколению идти в эту профессию?
Я убеждена, что каждый должен принимать решение самостоятельно. Если вам по душе авиация, то старшее поколение с удовольствием будет делиться с вами информацией и давать ценные советы. От вас требуется только трудолюбие и готовность постоянно учиться.
_____
Дорогие подписчики, у вас есть уникальная возможность задать Кате вопросы в комментариях, на которые она ответит в следующем после этой рубрики 🔥
Лёгкое небо
#aviation#ДиспетчерКатя#interview#ATC
📌CPDLC — когда пилоты пишут, а не говорят
Радиосвязь — привычный способ общения пилота и диспетчера. Но в некоторых зонах мира, особенно над океаном, она заменяется цифровой связью — CPDLC (Controller-Pilot Data Link Communications).
🧠 Что это такое?
CPDLC — это обмен короткими текстовыми сообщениями между экипажем и диспетчером. Выглядит как мессенджер в кабине:
✈️ диспетчер отправляет сообщение — «Climb FL380»
👨✈️ пилот нажимает «Wilco» (выполню) — и всё, никаких переговоров по радио.
🛰Зачем это нужно?
⏺На эшелонах и в океанических зонах голосовая связь часто недоступна или перегружена.
⏺CPDLC уменьшает нагрузку на радиоэфир и исключает ошибки из-за акцентов, помех или заговорённости частот.
⏺Все сообщения фиксируются в системе — исключён фактор «не так понял».
💬Как это работает?
📌CPDLC используетсяпочти по всему миру, исключая несколько стран
Пилот и диспетчер подключаются к одной и той же системе, и весь обмен происходит через спутник или наземную станцию. Занимает это несколько секунд, а результат — высокая точность и спокойствие в эфире.
❓Интересный факт
Некоторые авиакомпании уже полностью перешли на CPDLC в дальнемагистральных рейсах, а в Европе в будущем планируется обязательное использование в верхнем воздушном пространстве. Так что «поговорить» по радио получится не всегда
🔔 Пишите в комментариях: знали ли вы, что у пилотов есть свой «авиа-мессенджер»?
Легкое Небо
#ATC#pilot#CPDLC#communications
🤨🤨🤨 מגדל הפיקוח בשדה התעופה ברבנק הוליווד נותר ללא פקחים במשך שעות עקב השבתת הממשל!!
כן כן מה ששמעתם. מגדל הפיקוח של נשדה התעופה ברבנק הוליווד (BUR) נותר ללא פקחי טיסה במשך שעות, לאחר שכלל הצוותים לא התייצבו לעבודה בעקבות השבתת הממשל הפדרלי, שגרמה לעובדי ה-FAA לעבוד ללא שכר.
לפי רשות התעופה הפדרלית (FAA), המגדל הפסיק לפעול בשעה 16:15 ונותר סגור עד 22:00. בזמן זה, השליטה בתנועת המטוסים, המראות ונחיתות, עברה לניהול מרחוק על ידי מרכז הבקרה האזורי של Southern California TRACON שבסן דייגו.
בהודעת ה-FAA נמסר:
בעקבות המחסור בכוח אדם שנוצר עקב ההשבתה, נאלצנו להאט את התנועה האווירית בחלק מהשדות כדי לשמור על בטיחות.
⁉️מדובר באירוע נדיר במיוחד במרחב אווירי סואן כמו לוס אנג'לס, שמעיד על ההשפעה הגוברת של השבתת הממשל על תעבורת האוויר בארה"ב. שדה התעופה ברבנק אינו שדה גדול במיוחד ובשנת 2024 עברו בו קצת יותר מ-6.5 מיליון נוסעים. לשם השוואה, בנתב"ג, בזמן מלחמה, עברו בשנת 2024 ובשנת 2023, כמעט 14 מיליון נוסעים וקצת יותר מ-20 מיליון נוסעים בהתאמה. בשנה האחרונה הנורמלית שהייתה פה, 2019, עברו קצת יותר מ-24 מיליון נוסעים.
ℹ️קצת רקע על השבתת הממשל
השבתת הממשל (Government Shutdown) בארה"ב החלה ב-1/10, לאחר שהקונגרס האמריקאי לא הצליח לאשר תקציב חדש או הארכה זמנית למימון הממשל הפדרלי. המשמעות - מאות אלפי עובדים ממשלתיים הוצאו לחופשה כפויה ללא שכר, בעוד עובדים חיוניים, כמו פקחי טיסה ועובדי ביטחון, נדרשים להמשיך לעבוד ללא תשלום עד לסיום המשבר.
בתחום התעופה, חלק גדול מעובדי ה-FAA וה-TSA נפגעו:
⛔לפי חלק מהדוחות – כ-11,322 מתוך כ-44,829 עובדי ה-FAA הוצאו לחופשה כפויה.
⛔13,294 מתוכם – פקחי תנועה אווירית – נדרשים להמשיך בעבודתם ללא שכר עד שהממשלה תחזור לפעולה.
⛔במשרד התחבורה האמריקאי התריעו כי בכמה נמלי תעופה נרשמו חוסרים של עד 50% בצוותי הפיקוח, מה שהוביל לעיכובים, האטת קצב נחיתות והמראות, ובמקרים חריגים – כמו בבורבנק – להשבתה מלאה של מגדל הפיקוח.
https://t.me/AviationNewsIL/8053
#בורבנק#FAA#השבתהממשל#ארהב#פיקוחטיסה#ATC