Можно ли в 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
Немцы в Китае проседают. Импорт авто из Германии в 2025-м упал на 40+% к 24-му. Немцам это неприятно, на автопром у них приходится 19% ВВП. С 2019 года в автопроме Германии сократили 112 тыс рабочих мест.
Попытки сделать "машину специально для китайцев" тоже не работают. AUDI (без колец) E5 Sportback 👆, созданная в партнерстве с SAIC, провалилась в продаже. Со старта прошло несколько месяцев, завод объявил скидку в 10+%.
Может и мы доживем до такого когда-нибудь.
Однозначно - 👍
Не доживем - 👎
#audi
Специально для ценителей немецкого автопрома - новое поступление в Major Expert. Дизельный AUDI Q8 2019 гв, с небольшим пробегом 111 тыс км. Без проблем по технике.
3-х литровый дизель, 249 лс и 600 Нм, полный привод, 8-и ступенчатая АКПП, 7 сек до сотни, при расходе меньше 10 л дизеля на 100 км. Обогрев лобового стекла и руля, вентиляция передних сидений, черный потолок, диски 20".
Цена - 5,9 млн руб.
Менеджер Кирилл @KirStar96
Кстати - с 1 апреля утиль снова вырастет.
#audi
AUDI A8 2013 года выпуска с пробегом 96 тыс км - уникальная возможность примерить на себя настоящий немецкий представительский класс. Нельзя пропустить.
Версия Long, полный привод Quattro, бензиновый 3-х литровый мотор на 290 сил. Разгон до сотни за 5.9 секунд. Окрасы - только бампера, хорошее техническое состояние.
Цена - 2,9 млн руб.
Менеджер Кирилл @KirStar96
#audi
Интересное про выбор самих китайцев. 9 января там вручали премию Автомобиль года в Китае и победил внезапно AUDI E5 Sportback, спроектированный "совместно" SAIC и Audi.
Полностью электрический, на китайской платформе, с китайской электроникой, он обошел всех чистокровных китайцев. У него не самые большие продажи, он не перевернул рынок и никаких супер новаций в нем нет.
Наверное так китайцы отметили момент, когда они впервые научили немцев делать машины, от Audi у него только название.
Немного странно - 🤔
Но можно понять - 🤝
#audi
Пушка-гонка AUDI A5, 3-х литровый дизель на 286 лс, 620 Нм и полный привод. Редкая машина. Момент доступен с 1500 оборотов, чтобы ехать быстро не нужно давить педаль и раскручивать мотор. 5 секунд до сотни, но по ощущениям еще быстрее.
Год выпуска - 2020-й, всего 100 тыс км пробега (для немецкого дизеля это пустяки). Один хозяин и идеальное состояние. Цена - 4,655 млн руб.
Подробности у Кирилла @KirStar96
#audi
AUDI готовит электрический ответ на Mercedes-Benz G-Class.
Машина будет стоять выше Q7 и Q8, в ее основе концепт Audi Q6 e-tron Offroad, с увеличенным клиренсом, усиленным кузовом, крупными шинами и портальными мостами.
Два электромотора мощностью более 500 л.с., система рекуперации и большой запас хода. В компании проект называют новой страницей истории.
Ждем — 👍
#audi
Мощный, четко управляемый AUDI Q8 — такое Китай построить не может.
В Major Expert на выбор 10 машин с 3-х литровыми моторами, бензиновыми и дизельными, 340 лс и 286 лс, 5,8-6,1 секунды до сотни.
Фирменный полный привод, спортивный кузов не успел примелькаться. Богатый интерьер и набор опций. Пробеги от 100 км до 136 тыс. км. Цена 5,49 - 14,7 млн руб.
Выбрать можно тут
Звоните +7 (495) 089-05-39
#audi
All new Audi A6 gets a long-wheelbase “🔤” version
📰 The long-wheelbase Audi A6L sedan has debuted in China. The model is produced by the FAW-Audi joint venture. The starting price is 323,000 yuan (about $45,000).
📏 The length increased by 210 mm to 5,142 mm, with extended rear doors and trunk. The wheelbase is 3,066 mm.
🐎 The engine lineup includes 2.0-liter turbocharged gasoline engines producing 204 and 272 hp, as well as hybrid versions: a 2.0-liter with 296 hp and a 3.0-liter with 390 hp. The sedan comes with a 7-speed dual-clutch transmission, front-wheel drive or all-wheel drive, and optional air suspension.
#Audi@Car_News
Новая Audi A6 получила удлинённую версию 🔤
📰 В Китае дебютировал удлинённый седан Audi A6L. Модель выпускается на совместном предприятии FAW-Audi. Стартовая цена – 323 000 юаней (около $45 000).
📏 Длина увеличилась на 210 мм и достигла 5142 мм, при этом были удлинены задние двери и багажник. Колёсная база составляет 3066 мм.
🐎 Линейка двигателей включает бензиновые турбомоторы объёмом 2,0 литра мощностью 204 и 272 л.с., а также гибридные версии: 2,0-литровую на 296 л.с. и 3,0-литровую на 390 л.с. Седан оснащается 7-ступенчатой роботизированной коробкой передач, передним или полным приводом, а также опциональной пневмоподвеской.
#Audi🚘Автоновости
Тоска автолюбителей по нормальным машинам порождает удивительные вещи. В прошлом году в Британии возник стартап Audacious Automotive который, что будет возрождать легендарную AUDI Quattro - с её раллийных побед началась современная история AUDI.
У исторической Quattro был 5-и цилиндровый мотор, сейчас британцы хотят ставить в рестомод V8 4,2.
Ни одной машины они пока не собрали, но СМИ уже пишут о появлении уникального продукта. Из готового - только фото недоваренного кузова. Цена вопроса кстати - 470 тыс долл и кроме денег нужно пригнать и донорскую Quattro и мотор V8.
Это смешно - 😁
Нет, это круто - 👍
#audi
AUDI прикончил А8 не навсегда. Решение о создании преемника принято и к концу десятилетия он появится.
В 2021 году AUDI показал концепт Grandsphere, который считался кандидатом на замену уходящему А8. Говорили что он "практически котов к производству". Тизеры дают нам понимание того, как скорее всего будет выглядеть новый А8.
Дизайн прекрасен, что будет с силовой установкой пока неизвестно.
Красивое - 👍
Уже не важно - 👎
#audi
📰The new Audi A6 has finally been unveiled
・The 2026 Audi A6 sedan enters a new generation with a smoother design and a tech-centric interior.
・Along with slippery new bodywork, the redesigned A6's dash is a haven for screens, and U.S. models have a 362-hp turbocharged V-6.
・While the European version goes on sale first, the U.S. lineup will arrive later this year and likely start at around $65,000.
@CarsNews
#Audi