Можно ли в 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
🇬🇧🇷🇺Великобритания объявила о крупнейшем с 2022 года пакете санкций против России
Всего в санкционный список Великобритании добавлено 107 позиций. Как уверяет правительство страны меры направлены на сокращение средств, идущих в военную казну и поддерживающих клептократическую систему России.
Под санкции попали 40 нефтяных танкеров, компании из России и других стран. Например, под санкции попал «Керемет банк» из Киргизии.
Среди персон, попавших, под санкции есть бизнесмены Роман и Глеб Троценко, гендиректор телеканала «Царьград» Наталья Тюрина, замглавы МЧС РФ Денис Попов, министр обороны КНДР Но Гван Чхоль, основатель авиационной группы S7 Владислав Филев.
#S7
Подписывайтесь на Sanctions Lists
🇺🇸🇮🇱🇷🇺49-летний гражданин Израиля Гал Хаймович приговорен в США к 24 месяцам тюремного заключения за сговор с целью незаконной поставки деталей для самолетов от американских производителей в Россию, в том числе российским авиакомпаниям, находящимися под санкциями. Кроме того, Хаймович согласился на конфискацию у него 2 024 435,44 долларов США и различных деталей самолетов.
С апреля 2022 года по апрель 2023 года, после того как США ввели дополнительные ограничения на экспорт товаров в Россию, Хаймович организовал более 160 поставок компаниям на Мальдивах и в Объединенных Арабских Эмиратах, которые отвечали за незаконную поставку товаров в Россию, сообщили в минюсте США. Одна из таких поставок произошла в августе 2022 года. Хаймович, как заявляет минюст США, по заданию авиакомпании «Сибирь» (S7 Airlines), поручил сообщнику солгать американскому поставщику, что деталь предназначалась для Мальдив; на самом деле Хаймович знал, что деталь предназначалась для России в интересах S7 Airlines.
#S7
Подписывайтесь на Sanctions Lists
🇮🇱🇺🇸Гражданин Израиля Гал Хаймович признал себя виновным в нарушении торговых санкций США. Гал Хаймович поставлял в Россию детали самолетов, в том числе, для компании S7 Airlines.
Согласно документам суда, Хаймович владел международной транспортно-экспедиторской компанией, которая вела бизнес в разных странах, включая США и Израиль. Он организовал более 160 поставок компаниям на Мальдивах и в Объединенных Арабских Эмиратах, которые отвечали за незаконную перевалку товаров в Россию. Одна из таких поставок для авиакомпании «Сибирь» (S7 Airlines) произошла в августе 2022 года. Хаймович поручил сообщнику ложно сообщить американскому поставщику, что деталь предназначалась для Мальдив.
Хаймовича, признав вину, согласился на вступление в силу решения суда о конфискации у него денежных средств в размере 2 024 435 долларов, а также различных деталей и компонентов самолетов, сообщил Минюст США.
#S7#США
Подписывайтесь на Sanctions Lists
S7 отказалась от идеи создания лоукостера
30 июня российские новостные агентства сообщили о предстоящем слиянии авиакомпаний S7 и Глобус путём присоединения последней к материнской компании. Соответствующее решение принято 29 июня Группой компаний S7.
📢Решением единственного акционера АО "Авиакомпания "Сибирь" принято решение о реорганизации в форме присоединения к нему общества с ограниченной ответственностью Глобус, - говорится в сообщении.
📌 Уточняется также, что после завершения реорганизации АО "Авиакомпания "Сибирь" продолжит свою деятельность, ООО "Глобус" прекратит свою деятельность.
🌐 Авиакомпания Глобус образована в марте 2008 года на базе воздушных судов S7 Airlines, в качестве отдельной авиакомпании Группы S7. Предполагалось, что новый перевозчик будет ориентирован на организацию чартерных рейсов.
🥈В 2015-19 годах в базовом аэропорту Толмачёво авиакомпания Глобус стабильно занимала второе место среди перевозчиков, уступая только S7. По итогам 2019 года авиакомпания перевезла в и из Новосибирска 951,9 тысяч человек.
☝️ В августе 2019 Группа компаний S7 объявила о слиянии авиакомпаний S7 Airlines и Глобус. К 2020 году все самолёты Глобуса перешли в парк S7. При этом в начале 2022 года Группа компаний S7 рассматривала вопрос о создании на базе неработающего перевозчика лоукостера под брендом Citrus. Под эту задачу Глобус вновь получил сертификат эксплуатанта Росавиации. ⛔ Однако изменение политической ситуации и невозможность приобретения под проект воздушных судов Airbus A320neo заставили владельцев авиакомпании пересмотреть свои планы.
STI-туризм – подписаться
#S7
#ПолёткаНовосибирск
Эксклюзив 🔥
📌 Заходя на борт самолета, вы встречаете двух мило улыбающихся бортпроводников, но лишь немногие знают, через что пришлось пройти этим людям, чтобы встречать и обслуживать вас во время рейса.
На видео можно узнать, как проходят тренировки аварийного покидания самолета (АСП), что является лишь небольшой частью того, через что проходят бортпроводники. АСП Вода (испытания в бассейне), АСП Суша (аварийная эвакуация, тушение пожаров и множество других процедур), отработка оказания первой помощи и многое другое ✈️
А какой тип воздушного судна на видео? 🛫
Лёгкое небо
#s7#S7TRAINING
Эксклюзив 🔥
📌 Заходя на борт самолета, вы встречаете двух мило улыбающихся бортпроводников, но лишь немногие знают, через что пришлось пройти этим людям, чтобы встречать и обслуживать вас во время рейса.
На видео можно узнать, как проходят тренировки аварийного покидания самолета (АСП), что является лишь небольшой частью того, через что проходят бортпроводники. АСП Вода (испытания в бассейне), АСП Суша (аварийная эвакуация, тушение пожаров и множество других процедур), отработка оказания первой помощи и многое другое ✈️
А какой тип воздушного судна на видео? 🛫
Лёгкое небо
#s7#S7TRAINING
Первым делом, первым делом самолеты!✈️
Компания S7 приглашает студентов ПИШ МАСТ в инжиниринговый дивизион «Технологии и Моторы» на практику и стажировку с дальнейшим трудоустройством!
🔧Чем предстоит заниматься?
• Оказывать услуги проектно-конструкторского инжиниринга
• Осваивать технологии производства и ремонта авиационных двигателей
• Участвовать в разработке первого в России самолета из цельного композита
⚙️ Конструкторское бюро – Цветной бульвар, 2 (м. Трубная / м. Цветной бульвар)
📍Производственная площадка – ремонтный завод в Горки Ленинские (ходит корпоративный транспорт от м. Домодедовская)
👀Чтобы поближе познакомиться с производством, компания приглашает всех желающих на экскурсию!
Для более подробной информации и записи на экскурсию писать 👉@pish_mast
@misis_pish_mast | #практика#стажировка#S7
S7 Airlines возобновила полёты из Новосибирска в Шанхай
2 мая стартовала полётная программа S7 Airlines из Новосибирска в Шанхай (аэропорт Пудун – PVG). Данный маршрут отсутствовал в полётном расписании Толмачёво с октября 2019 года.
🛫 Полёты в один из крупнейших мегаполисов Китая🇨🇳будут выполняться на Boeing 737-800 в компоновке 176 кресел (8 – бизнес-класс) с частотою два раза в неделю. Продолжительность полёта составляет около шести часов.
✅ В допандемийный период полёты по маршруту Новосибирск – Шанхай выполнялись в сезонном режиме с мая по октябрь. В 2019 годудвусторонний трафик на направлении составил 14,5 тысяч человек.
STI-туризм – подписаться
#ПолёткаНовосибирск
#Китай
#S7