Можно ли в 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
🔋 LEGO May the 4th be with you
#lego
✅ Oferta: 249,99€ + regalos
Como suele ser habitual con la llegada de cualquier 4 de mayo, desde LEGO nos recuerdan que la mejor forma de celebrar el día de Star Wars es aprovechando para hacernos con algunos de los mejores sets de su catálogo. Uno de lo más interesante es el Caza Estelar N-1 del Mandaloriano, que cuenta con 1.809 piezas y dos minifiguras.
Lo mejor de todo es que, si compramos un set ahora, recibiremos regalos como: decoración de The Mandalorian and Grogu, una réplica de la espada oscura y un minimodelo de la Razor Crest.
➡️https://is.gd/rcItxN
📣 Síguenos: @compradiccion
📱Síguenos en TikTok: https://www.tiktok.com/@compradiccion
🌎compradiccion.com
🧩LEGO “Juda g‘alati ishlar” (Stranger Things) serialidagi “Kril uyi” to‘plamini taqdim etdi
ℹ️ Yangi LEGO Icons Stranger Things: The Creel House to‘plami sizga Genri Krilning uyini ichidagi barcha mayda detallar va ishoralar bilan birga aniq tarzda qayta yaratish imkonini beradi.
⚙️ To‘plam 2593 ta detal va 13 ta minifiguradan iborat.
🎁 Agar siz LEGO’ning rasmiy sayti orqali buyurtma bersangiz, to‘plamga qo‘shimcha ravishda ikki dona avtomobil va Jim Hopper hamda Joyce Byers WSQK radiostansiyasida aks etgan kichik qo‘shimcha set ham kiradi.
📅 Yangi to‘plam 2026-yil 1-yanvardan sotuvga chiqariladi.
💸 Narxi — $299.
➡️#lego | Birinchi IT-Blog
🧩 LEGO “Karib dengizi qaroqchilari” filmidagi “Qora marvarid” kemasini taqdim etdi
ℹ️ To‘plam tafsilotlari:
- 2862 ta detal
- Ko‘plab yashirin elementlar
- 8 ta minifigura: Kapitan Jek Vorobey, Gektor Barbossa, Joshami Gibbs, Cotton, Uill Tyorner, Elizabet Svonn, Anna Mariya va Marti
📏 O‘lchamlari:
- Balandligi — 64 sm
- Uzunligi — 64 sm
- Kengligi — 23 sm
🗓 Sotuvga chiqish sanasi: 15-sentabr
💵 Narxi: $380
➡️#lego | Birinchi raqamli IT-Blog
🎲2025-yilda LEGO’ning «Gravity Falls», «Genshin Impact» va boshqa mavzulardagi to‘plamlari chiqishi mumkin
ℹ️ LEGO Ideas saytida joylashtirilgan 54 ta konstruktor g‘oyasi 10 mingdan ortiq ovoz to‘pladi. Ushbu ro‘yxatda juda ko‘p potentsial «xit» to‘plamlar mavjud: Godzilla va PlayStation 2’dan tortib, Genshin Impact hamda Gravity Falls’gacha. Endi kompaniya ushbu foydalanuvchilar taklif etgan konsepsiyalarni koʻrib chiqib, qaysi g‘oya ommaviy ishlab chiqarilishini aniqlashi kerak.
📅 Yakuniy qaror 5-maydan keyin e’lon qilinadi. Ehtimol, birdaniga bir nechta konsepsiya sotuvga chiqarilishi mumkin.
🕸 To‘liq ro‘yxat bilan quyidagi havola orqali tanishish mumkin:
LEGO Ideas Blog.
➡️#lego | Birinchi raqamli IT-Blog
Lego в июне выпустят грибочки — в сети показали новый набор из серии Botanicals с мухоморами.
В наборе Woodland Mushrooms 806 деталей и разнообразные виды грибов.
JDMax#lego
LEGO в одной рекламе умудрились собрать вместе Месси, Роналду, Мбаппе и Винисиуса.
По сюжету легенды футбола пытаются закрепить свои маленькие лего-фигурки на кубке чемпионов, собранном из фирменных деталек.
Повод для такого мощного сбора выход новых персональных наборов с участниками ЧМ-2026.
JDMax#lego
Китайский бренд CaDa выкатил конструктор Mercedes-AMG GT3 в масштабе 1:8 с официальной лицензией.
В наборе почти 5,5 тыс. деталей. После сборки получается модель 59×25×17 см.
Главная фишка: пневмодомкраты с ручным насосом для подъёма тачки, как на настоящем пит-стопе. Плюс светящиеся фары, открывающиеся двери и капот, регулируемое антикрыло и колёса с центральной гайкой.
Цена — $349 (29 000 рублей). По отзывам коллекционеров, CaDa уже начинает обгонять Technic.
JDMax#lego
Lego выпустят специальный набор по фильму «Формула-1» с Брэдом Питтом.
Внутри — болид APXGP, состоящий из 268 деталей и пилоты: Сонни Хейс и Джошуа Пирс.
Продажи обещают запустить 1 января. Цена – 27,99 долларов (2 267 рублей).
JDMax#lego
Новинка от LEGO - детализированный Железный человек.
Его руки, ноги и голову можно двигать, а ладони и сердце светятся. Предзаказ уже открыт, цена — около 12 000 рублей.
JDMax#lego
Lego выпустит большой набор по «Очень странным делам».
Внутри: дом Векны, пара машин и 13 фигурок героев. Всего 2593 детали для тех, кто готов собрать апокалипсис Хоукинса по кирпичику.
Цена ~ 300 $ . Старт продаж 1 января 2026 — сразу после выхода финальной серии.
JDMax#lego