TGTGInsighttelegram intelligenceLIVE / telegram public index
← Python Заметки

TGINSIGHT SIMILAR POSTS

Најди сличен содржај

Изворен канал @pythonotes · Post #241 · 5 мај

Можно ли в 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

Hashtags

Резултати

Пронајдени 1 слични објави

Пребарај: #cirium

当前筛选 #cirium清除筛选
Bloomberg4you

@Bloomberg4you · Post #46791 · 16.08.2025 г., 09:23

В 1981 году, когда Airbus SE объявила о строительстве нового узкофюзеляжного реактивного самолёта, чтобы составить конкуренцию Boeing Co., 737-я модель была на пике популярности. Узкофюзеляжный самолёт американского производства, который использовался уже более десяти лет, изменил авиационную отрасль, сделав более короткие маршруты более дешёвыми и прибыльными. К 1988 году, когда Airbus начал производить свой новый самолёт A320, #Boeing значительно опережал конкурента, поставив около 1500 своих бестселлеров сигарообразной формы. На это ушло почти четыре десятилетия, но #Airbus наконец-то догнал своего конкурента: по данным авиационной консалтинговой компании #Cirium, серия A320 вот-вот обгонит своего американского конкурента и станет самым продаваемым коммерческим авиалайнером в истории. По состоянию на начало августа Airbus сократил отставание всего до 20 единиц, а общее количество поставленных самолётов семейства A320 составило 12 155. Эта разница, скорее всего, исчезнет уже в следующем месяце. «Мог ли кто-нибудь тогда предположить, что он станет номером один — и при таких высоких объёмах производства?» - написал об A320 в недавнем посте в социальных сетях Макс Кингсли-Джонс, глава консультационного отдела Cirium Ascend. «Я точно не предполагал, и, вероятно, Airbus тоже». Успех A320 отражает многолетний путь европейского производителя самолётов от начинающего производителя до серьёзного конкурента и, наконец, до лидера по отношению к Boeing. К началу 2000-х годов ежегодные поставки A320 и его модификаций превысили поставки семейства 737; в 2019 году общее количество заказов превзошло количество заказов на Boeing. Но 737 упорно оставался самым продаваемым коммерческим самолётом всех времён. С самого начала Airbus столкнулся с серьёзными трудностями. Европейский авиастроитель, объединение аэрокосмических производителей, созданное в 1970 году при поддержке европейских правительств, ещё не предлагало полный модельный ряд самолётов. Разногласия препятствовали всему — от планирования продукции до производства, а решения руководства должны были обеспечивать баланс между коммерческими и политическими интересами Франции и Германии. Однако уже тогда было ясно, что Airbus необходимо закрепиться в сегменте узкофюзеляжных самолётов, чтобы стать главным конкурентом Boeing. Эти самолёты на сегодняшний день являются самой распространённой категорией в коммерческой авиации и обычно используются для коротких перелётов между городами. Согласно истории Airbus, написанной журналисткой Николой Кларк, рост цен на топливо и отмена государственного регулирования авиационной отрасли в США в конце 1970-х годов открыли перед европейским производителем самолётов возможности для сотрудничества с руководителями американских авиакомпаний, которые настаивали на создании совершенно нового узкофюзеляжного самолёта. Чтобы выделить A320 на фоне других самолётов, Airbus пошёл на определённый риск. Компания выбрала цифровое электродистанционное управление, которое было легче традиционных гидравлических систем, и предоставила пилотам боковой штурвал, расположенный справа или слева, вместо центрального рычага управления. Самолёт также был выше 737-й модели и оснащался двумя двигателями на выбор, что обеспечивало клиентам большую гибкость. Риск Airbus оправдал себя. Сегодня на долю A320 и 737 приходится почти половина мирового парка пассажирских самолётов. Успех A320 контрастирует со стратегическими просчётами, такими как гигантский A380, который просуществовал недолго, потому что авиакомпании не могли рентабельно эксплуатировать этот гигантский самолёт. Компания Boeing утверждала, что более компактные и манёвренные самолёты, такие как 787 Dreamliner, будут иметь преимущество, и это предсказание оказалось верным. @aeconomicsa