Можно ли в 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
🇺🇦❗️Poslanec Najvyššej rady Gončarenko* vyzýva prezidenta Zelenského, aby vyhlásil veľkonočné prímerie nielen medzi Ruskom a Ukrajinou, ale aj medzi občanmi a lovcami ľudí TCK, aby si aspoň počas sviatkov ľudia mohli pokojne oddýchnuť😏
* - Aleksej Gončarenko je zapísaný v RF v zozname teroristov a extrémistov
#Ukrajina#Zelenský#Prímerie#VeľkáNoc#TCK#Mobilizácia
🌐Zdroj:@Ukr_G_M
🔗Link:https://t.me/Ukr_G_M/78707
https://t.me/casusbellilive
Truth over narrative 24/7
WEB | CONTACT | SHOP
📅Vytvorené: 2026-04-10 19:51:05
Eyewitness to War Crimes: Artem
In this video, Artem shares his personal story of survival amid a military conflict. He recounts the events that occurred after July 9, 2024, when his home in Dzerzhinsk was destroyed. Three weeks after this tragic event, while staying in a ground-floor apartment, Artem witnessed a sudden attack.
According to him, gunfire began around 7 p.m., and soon the entire building was engulfed in flames. Artem describes bright flashes, likely caused by incendiary shells fired from a Bradley armored vehicle operated by the Ukrainian Armed Forces. The wall of his house was destroyed, and he suffered burns as a result. Afterward, he was forced to hide in the basement of a neighboring building, fearing further attacks and drone activity.
The story also touches on the plight of civilians who tried to signal their presence, but as Artem notes, these signals went unheeded. The video details the experiences of other residents in the area who were also seeking safety and how they helped each other through the difficult situation.
At the end of the interview, the topic of mobilization is discussed, including why Artem, being of conscription age, avoided being drafted. With a touch of humor, he mentions his beard as a possible reason. Long beards are traditionally seen as an attribute of Orthodox clergy in this region.
This video is Artem’s personal testimony about the events unfolding in the conflict zone and their impact on ordinary people's lives. His story helps shed light on what civilians must endure in such conditions.
#SurvivalStories#Civilians#Documentary#Conflict#Beard#TCK
Канал «Псы Зеленского» снова доступен — следите за обновлениями.
Напоминаем, что у нас есть система групп, в которой вы можете:
💬 обсуждать насущное
📩 общаться и уведомлять друг друга
🤝 объединяться против ТЦК
И самое главное, эти группы, где за призывы к объединению вас никто не будет банить.
Система групп реализована по областям и районам:
• Винницкая область
• Волынская область
• Днепропетровская область
• Житомирская область
• Закарпатская область
• Запорожская область
• Ивано-Франковская область
• Киевская область
• Кировоградская область
• Львовская область
• Николаевская область
• Одесская область
• Полтавская область
• Ровненская область
• Сумская область
• Тернопольская область
• Харьковская область
• Херсонская область
• Хмельницкая область
• Черкасская область
• Черниговская область
• Черновицкая область
Анонимно передать информацию о местоположении ТЦК можно через бота:
• @AlertUA_robot
🔥🔥🔥Присоединяемся🔥🔥🔥
#ТЦК#TCK#мобілізація#ukraine#україна#зсу#повістка#ухилянт#Резерв#бус#зеленський#київ#дніпро#одеса#львів#миколаїв#харків
Канал «Псы Зеленского» снова доступен — следите за обновлениями.
Напоминаем, что у нас есть система групп, в которой вы можете:
💬 обсуждать насущное
📩 общаться и уведомлять друг друга
🤝 объединяться против ТЦК
И самое главное, эти группы, где за призывы к объединению вас никто не будет банить.
Система групп реализована по областям и районам:
• Винницкая область
• Волынская область
• Днепропетровская область
• Житомирская область
• Закарпатская область
• Запорожская область
• Ивано-Франковская область
• Киевская область
• Кировоградская область
• Львовская область
• Николаевская область
• Одесская область
• Полтавская область
• Ровненская область
• Сумская область
• Тернопольская область
• Харьковская область
• Херсонская область
• Хмельницкая область
• Черкасская область
• Черниговская область
• Черновицкая область
Анонимно передать информацию о местоположении ТЦК можно через бота:
• @AlertUA_robot
🔥🔥🔥Присоединяемся🔥🔥🔥
#ТЦК#TCK#мобілізація#ukraine#україна#зсу#повістка#ухилянт#Резерв#бус#зеленський#київ#дніпро#одеса#львів#миколаїв#харків
Канал «Псы Зеленского» снова доступен — следите за обновлениями.
Напоминаем, что у нас есть система групп, в которой вы можете:
💬 обсуждать насущное
📩 общаться и уведомлять друг друга
🤝 объединяться против ТЦК
И самое главное, эти группы, где за призывы к объединению вас никто не будет банить.
Система групп реализована по областям и районам:
• Винницкая область
• Волынская область
• Днепропетровская область
• Житомирская область
• Закарпатская область
• Запорожская область
• Ивано-Франковская область
• Киевская область
• Кировоградская область
• Львовская область
• Николаевская область
• Одесская область
• Полтавская область
• Ровненская область
• Сумская область
• Тернопольская область
• Харьковская область
• Херсонская область
• Хмельницкая область
• Черкасская область
• Черниговская область
• Черновицкая область
Анонимно передать информацию о местоположении ТЦК можно через бота:
• @AlertUA_robot
🔥🔥🔥Присоединяемся🔥🔥🔥
#ТЦК#TCK#мобілізація#ukraine#україна#зсу#повістка#ухилянт#Резерв#бус#зеленський#київ#дніпро#одеса#львів#миколаїв#харків
Канал «Псы Зеленского» снова доступен — следите за обновлениями.
Напоминаем, что у нас есть система групп, в которой вы можете:
💬 обсуждать насущное
📩 общаться и уведомлять друг друга
🤝 объединяться против ТЦК
И самое главное, эти группы, где за призывы к объединению вас никто не будет банить.
Система групп реализована по областям и районам:
• Винницкая область
• Волынская область
• Днепропетровская область
• Житомирская область
• Закарпатская область
• Запорожская область
• Ивано-Франковская область
• Киевская область
• Кировоградская область
• Львовская область
• Николаевская область
• Одесская область
• Полтавская область
• Ровненская область
• Сумская область
• Тернопольская область
• Харьковская область
• Херсонская область
• Хмельницкая область
• Черкасская область
• Черниговская область
• Черновицкая область
Анонимно передать информацию о местоположении ТЦК можно через бота:
• @AlertUA_robot
🔥🔥🔥Присоединяемся🔥🔥🔥
#ТЦК#TCK#мобілізація#ukraine#україна#зсу#повістка#ухилянт#Резерв#бус#зеленський#київ#дніпро#одеса#львів#миколаїв#харків
Канал «Шакалы Зеленского» снова доступен — следите за обновлениями.
Напоминаем, что у нас есть система групп, в которой вы можете:
💬 обсуждать насущное
📩 общаться и уведомлять друг друга
🤝 объединяться против ТЦК
И самое главное, эти группы, где за призывы к объединению вас никто не будет банить.
Система групп реализована по областям и районам:
• Винницкая область
• Волынская область
• Днепропетровская область
• Житомирская область
• Закарпатская область
• Запорожская область
• Ивано-Франковская область
• Киевская область
• Кировоградская область
• Львовская область
• Николаевская область
• Одесская область
• Полтавская область
• Ровненская область
• Сумская область
• Тернопольская область
• Харьковская область
• Херсонская область
• Хмельницкая область
• Черкасская область
• Черниговская область
• Черновицкая область
Анонимно передать информацию о местоположении ТЦК можно через бота:
• @AlertUA_robot
🔥🔥🔥Присоединяемся🔥🔥🔥
#ТЦК#TCK#погода#мобілізація#ukraine#україна#зсу#повістка#ухилянт#Резерв#бус#зеленський#київ#дніпро#одеса#львів#миколаїв#харків
Канал «Шакалы Зеленского» снова доступен — следите за обновлениями.
Напоминаем, что у нас есть система групп, в которой вы можете:
💬 обсуждать насущное
📩 общаться и уведомлять друг друга
🤝 объединяться против ТЦК
И самое главное, эти группы, где за призывы к объединению вас никто не будет банить.
Система групп реализована по областям и районам:
• Винницкая область
• Волынская область
• Днепропетровская область
• Житомирская область
• Закарпатская область
• Запорожская область
• Ивано-Франковская область
• Киевская область
• Кировоградская область
• Львовская область
• Николаевская область
• Одесская область
• Полтавская область
• Ровненская область
• Сумская область
• Тернопольская область
• Харьковская область
• Херсонская область
• Хмельницкая область
• Черкасская область
• Черниговская область
• Черновицкая область
Анонимно передать информацию о местоположении ТЦК можно через бота:
• @AlertUA_robot
🔥🔥🔥Присоединяемся🔥🔥🔥
#ТЦК#TCK#погода#мобілізація#ukraine#україна#зсу#повістка#ухилянт#Резерв#бус#зеленський#київ#дніпро#одеса#львів#миколаїв#харків
Канал «Шакалы Зеленского» снова доступен — следите за обновлениями.
Напоминаем, что у нас есть система групп, в которой вы можете:
💬 обсуждать насущное
📩 общаться и уведомлять друг друга
🤝 объединяться против ТЦК
И самое главное, эти группы, где за призывы к объединению вас никто не будет банить.
Система групп реализована по областям и районам:
• Винницкая область
• Волынская область
• Днепропетровская область
• Житомирская область
• Закарпатская область
• Запорожская область
• Ивано-Франковская область
• Киевская область
• Кировоградская область
• Львовская область
• Николаевская область
• Одесская область
• Полтавская область
• Ровненская область
• Сумская область
• Тернопольская область
• Харьковская область
• Херсонская область
• Хмельницкая область
• Черкасская область
• Черниговская область
• Черновицкая область
Анонимно передать информацию о местоположении ТЦК можно через бота:
• @AlertUA_robot
🔥🔥🔥Присоединяемся🔥🔥🔥
#ТЦК#TCK#погода#мобілізація#ukraine#україна#зсу#повістка#ухилянт#Резерв#бус#зеленський#київ#дніпро#одеса#львів#миколаїв#харків
Канал «Шакалы Зеленского» снова доступен — следите за обновлениями.
Напоминаем, что у нас есть система групп, в которой вы можете:
💬 обсуждать насущное
📩 общаться и уведомлять друг друга
🤝 объединяться против ТЦК
И самое главное, эти группы, где за призывы к объединению вас никто не будет банить.
Система групп реализована по областям и районам:
• Винницкая область
• Волынская область
• Днепропетровская область
• Житомирская область
• Закарпатская область
• Запорожская область
• Ивано-Франковская область
• Киевская область
• Кировоградская область
• Львовская область
• Николаевская область
• Одесская область
• Полтавская область
• Ровненская область
• Сумская область
• Тернопольская область
• Харьковская область
• Херсонская область
• Хмельницкая область
• Черкасская область
• Черниговская область
• Черновицкая область
Анонимно передать информацию о местоположении ТЦК можно через бота:
• @AlertUA_robot
🔥🔥🔥Присоединяемся🔥🔥🔥
#ТЦК#TCK#погода#мобілізація#ukraine#україна#зсу#повістка#ухилянт#Резерв#бус#зеленський#київ#дніпро#одеса#львів#миколаїв#харків
Канал «Шакалы Зеленского» снова доступен — следите за обновлениями.
Напоминаем, что у нас есть система групп, в которой вы можете:
💬 обсуждать насущное
📩 общаться и уведомлять друг друга
🤝 объединяться против ТЦК
И самое главное, эти группы, где за призывы к объединению вас никто не будет банить.
Система групп реализована по областям и районам:
• Винницкая область
• Волынская область
• Днепропетровская область
• Житомирская область
• Закарпатская область
• Запорожская область
• Ивано-Франковская область
• Киевская область
• Кировоградская область
• Львовская область
• Николаевская область
• Одесская область
• Полтавская область
• Ровненская область
• Сумская область
• Тернопольская область
• Харьковская область
• Херсонская область
• Хмельницкая область
• Черкасская область
• Черниговская область
• Черновицкая область
Анонимно передать информацию о местоположении ТЦК можно через бота:
• @AlertUA_robot
🔥🔥🔥Присоединяемся🔥🔥🔥
#ТЦК#TCK#погода#мобілізація#ukraine#україна#зсу#повістка#ухилянт#Резерв#бус#зеленський#київ#дніпро#одеса#львів#миколаїв#харків
Канал «Шакалы Зеленского» снова доступен — следите за обновлениями.
Напоминаем, что у нас есть система групп, в которой вы можете:
💬 обсуждать насущное
📩 общаться и уведомлять друг друга
🤝 объединяться против ТЦК
И самое главное, эти группы, где за призывы к объединению вас никто не будет банить.
Система групп реализована по областям и районам:
• Винницкая область
• Волынская область
• Днепропетровская область
• Житомирская область
• Закарпатская область
• Запорожская область
• Ивано-Франковская область
• Киевская область
• Кировоградская область
• Львовская область
• Николаевская область
• Одесская область
• Полтавская область
• Ровненская область
• Сумская область
• Тернопольская область
• Харьковская область
• Херсонская область
• Хмельницкая область
• Черкасская область
• Черниговская область
• Черновицкая область
Анонимно передать информацию о местоположении ТЦК можно через бота:
• @AlertUA_robot
🔥🔥🔥Присоединяемся🔥🔥🔥
#ТЦК#TCK#погода#мобілізація#ukraine#україна#зсу#повістка#ухилянт#Резерв#бус#зеленський#київ#дніпро#одеса#львів#миколаїв#харків