Можно ли в 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
СПАСИБО, ЧТО ПРОЖИЛИ ЭТУ ИСТОРИЮ ВМЕСТЕ С НАМИ 🔥🌍
«Первобытный инстинкт» остался в прошлом, но энергия до сих пор гуляет по чатам, сторис и сердцам. 300 человек. Полный зал. И море эмоций, которые мы не забудем.
Спасибо каждому, кто танцевал, кто боялся, кто охотился за битом и кто остался до финального аккорда наследия.
ФОТООТЧЕТ УЖЕ ГОТОВ 📸
https://ktitov.wfolio.pro/disk/18-04-2026-cabassa-den-rozhdeniya-18-04
А МЫ НЕ ОСТАНАВЛИВАЕМСЯ.
Уже 30 МАЯ запускаем новую главу.
Её название — «РИТУАЛЫ».
Это будет другая энергия. Другой свет. Другая глубина.
Готовьтесь.
Скоро расскажем всё.
До встречи в новом ритуале. 🖤
#Wakanda
СЕГОДНЯ. ДЕНЬ Х. WAKANDA. 🔥
18 апреля. Santa Barbara. 23:00.
Входная дверь — это портал в страну, где правят ритм и инстинкты.
Что тебя ждёт внутри:
🔺 3 инстинкта — Страх, Охота, Наследие. История, которую расскажут Oleg Milov, Cabassa и Etal.
✨ Живые африканские барабаны — ритм, который чувствуешь каждой клеткой.
🔺 Танцоры Wakanda — визуальная магия.
✨Фотозона — сохрани этот вечер.
🔺 Live vocal Cabassa x Kniagna — презентация нового трека.
💥DJ Support: John Candy, Nedisco, Bondisco, Max Stamp, Dangelovs — ритм не остановится ни на секунду.
🎫 Билеты на входе дороже.
🔥 Первые 30 гостей — WELCOME-ДРИНК в подарок!
💰 Цены сегодня:
• До 00:00 — 1300₽
• После 00:00 — 1500₽
https://wakanda.art
⚠️ Happy Birthday Early Bird уже закончился. Промокоды не действуют.
Ты не будешь зрителем. Ты станешь частью истории Ваканды.
Страх. Охота. Наследие. Одна ночь. Твоя история.
Ждём тебя. 🖤🔥
#Wakanda
⏳ ОСТАЛОСЬ ВСЕГО 2 ЧАСА!
Промокод INSTINCT (скидка 50%) перестанет работать через 120 минут.
Happy Birthday Early Bird — тоже улетит навсегда.
🎁 Твой последний шанс:
👉 Переходи на сайт: https://wakanda.art
👉 Вводи промокод INSTINCT
👉 Забирай билет за полцены
18 апреля. Santa Barbara. День рождения Cabassa.
Ты или внутри, или снаружи.
#Wakanda
Santa Barbara помнит наши ритмы.
18 апреля мы возвращаемся, чтобы написать новую главу. Будет жарко. Будет дико.
Будет Wakanda
https://wakanda.art/
#wakanda
ВАЖНАЯ НОВОСТЬ ДЛЯ ВСЕХ, КТО С НАМИ 🔥🌍
Мы строим страну Ваканда не только на танцполе, но и в цифровом пространстве.
Теперь у нас есть САЙТ.
Место, где ты можешь узнать всё о наших вечеринках, купить билет, погрузиться в атмосферу до того, как войдёшь в зал.
👉https://wakanda.art/
А ГЛАВНОЕ СОБЫТИЕ УЖЕ БЛИЗКО:
📅 18 апреля — возвращаемся в Santa Barbara, чтобы отпраздновать ДЕНЬ РОЖДЕНИЯ ОСНОВАТЕЛЯ WAKANDA — CABASSA.
🎫 ЗАВТРА — СТАРТ ПРОДАЖ БИЛЕТОВ.
Первые 50 билетов — HAPPY BIRTHDAY EARLY BIRD по специальной цене.
Сайт уже готов. История ждёт.
Ты с нами?
#Wakanda
2 ДНЯ ДО WAKANDA! 🔥⚡
Листаем архив и вспоминаем, как это было. А теперь представьте: в субботу всё это оживёт снова. Но уже в Secret Room — там, где всё начиналось. ✨
🎥 Смотрите видео и ловите тот самый вайб.
Мы — Wakanda.
Мы — идея.
Мы — культура. 🖤
🥁 Живые африканские барабаны
🎧 TWIST SOUND (Moscow)
💃 Особое шоу
🎵 Все резиденты Wakanda
📍 21 марта | Secrets Night Room | Полтавская, 7
⚠️ ПОСЛЕДНИЕ БИЛЕТЫ ДО ПОВЫШЕНИЯ!
В пятницу цена вырастет. Успевайте забрать сейчас 👇
🎫https://spb.qtickets.events/220940-the-return
Кто на видео — тот знает. Кто ещё не был — узнает в субботу.
#Wakanda
Самый нежный праздник уже близко! 🌷
Дарите тепло, получайте эмоции. А мы дарим вам весеннюю скидку на самую ожидаемую вечеринку весны.
🌸 ПРОМОКОД: WAKANDA
🌸 Дарит приятный бонус на билеты
🌸 Действует с 6 по 8 марта включительно
---
🎫 WAKANDA: THE RETURN
📍 Secrets Night Room
📅 21 марта | 23:00
🥁 Живые барабаны | TWIST SOUND (Moscow) | Резиденты Wakanda
Это не просто вечеринка. Это — возвращение туда, где всё начиналось.
➡️ Билеты по ссылке: https://spb.qtickets.events/220940-the-return
Активируйте промокод WAKANDA при покупке и забирайте свой бонус.
Порадуйте себя и близких. Весна начинается с ритма. 💫
#Wakanda
Барабаны просыпаются
👂Слышите?
Это бьётся сердце Wakanda. Оно всегда было здесь, просто ждало своего часа.
21 марта. Secret Room. Возвращение.
#wakanda