Можно ли в 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
📺- LOS PACIENTES DEL DOCTOR GARCÍA -📺
Título original: Los Pacientes del Doctor García
Género:#Thriller
Temporadas: 1 📼
Año: 2023
Origen: España 🇪🇸
Tráiler:dai.ly/x8g0cad
Sinopsis:
Tras la victoria de Franco, el doctor Guillermo García Medina (Javier Rey) sigue viviendo en Madrid bajo una identidad falsa. La documentación que lo libró del paredón fue un regalo de su mejor amigo, Manuel Arroyo Benítez (Tamar Novas), un diplomático republicano al que salvó la vida en 1937. El doctor García cree que nunca volverá a verlo pero, en septiembre de 1946, Manuel vuelve del exilio con una misión secreta y peligrosa. El diplomático republicano pretende infiltrarse en una organización clandestina, la red de evasión de criminales de guerra y prófugos del Tercer Reich que dirige desde el barrio de Argüelles una mujer alemana y española, nazi y falangista, llamada Clara Stauffer.
Disponible:Netflix
@SeriesClubHD
📺- SÍMBOLOS -📺
Título original: Znaki
Género:#Thriller
Temporadas: 2 📡
Año: 2018 - Presente
Origen: Polonia 🇵🇱
Tráiler: youtu.be/bp4DVwQhyxk
Sinopsis:
El asesinato de una joven se parece a un caso sin resolver de hace diez años. El nuevo comandante de la policía deberá romper el silencio que se cierne sobre un pueblo.
Disponible:⌛️Netflix
@SeriesClubHD
📺- 13 MANDAMIENTOS -📺
Título original: 13 Geboden
Género:#Thriller
Temporadas: 1 📼
Año: 2017
Origen: Bélgica 🇧🇪
Tráiler: youtu.be/uupK3s_EIf4
Sinopsis:
Una agente de élite lesionada y un rudo policía intentan dar caza a alguien que tortura a personas inspirándose en los Diez Mandamientos.
Disponible:⌛️Netflix
@SeriesClubHD
🎥- LA LEY SECRETA -🎥
Título Original: La Lye Secreta
Género:#Thriller
Temporadas: 1 📼
Año: 2018
Origen: Colombia 🇨🇴
Tráiler:youtu.be/IukDPRASXiA
Sinopsis:
Las agentes de inteligencia se infiltran en un cartel colombiano para atrapar a los jefes narcos y sus socios.
Disponible:Netflix
@SeriesClubHD
🎥- EL DÍA-🎥
Título Original: De Dag
Género:#Thriller
Temporadas: 1 📼
Año: 2018
Origen: Bélgica 🇧🇪
Tráiler:dai.ly/x92td6m
Sinopsis:
El atraco de un banco conmociona a una pequeña ciudad flamenca. Los atracadores se atrincheran dentro del banco, donde tienen secuestradas a algunas personas. La policía llega a las instalaciones e intenta controlar la situación.
Disponible:Filmin
@SeriesClubHD
📺- THE PURGE -📺
Título original: The Purge
Género:#Thriller
Temporadas: 2📼
Año: 2018 - 2019
Origen: EEUU 🇺🇸
Tráiler: dai.ly/x87ndgl
Saga:Sí✅
Sinopsis:
Serie de televisión basada en la franquicia cinematográfica "The Purge", creada por James DeMonaco y Blumhouse Productions en 2013. La primera temporada sigue a varios personajes aparentemente inconexos mientras experimentan la noche: Miguel Guerrero, un infante de marina que busca a su hermana Penélope que se ha unido a un culto a la muerte; Jane Barbour, una ejecutiva que usa la Purga como una oportunidad para vengarse; y Jenna y Rick Betancourt, empresarios casados que asisten a una fiesta de la Purga para buscar capital de inversión de un rico partidario de la Purga.
Disponible:Movistar TV
@SeriesClubHD
🍿 'Locked': A High-Speed Nightmare You Can't Escape
📆Release: March 21, 2025
🎭Genre: #Thriller
Claustrophobia and psychological tension take the wheel in Locked, a remake of 4x4 produced by Sam Raimi. Bill Skarsgård (It) plays a thief who picks the wrong car to steal and ends up trapped in a sadistic game of survival orchestrated by Anthony Hopkins. The premise brings to mind Phone Booth and other single-location thrillers where every second counts 😱.
Hopkins proves once again that his voice alone can be terrifying, while Skarsgård’s look, blond hair and a pink hoodie, has sparked inevitable comparisons to Pete Davidson🧥🔥. With a setup this intense, there’s no way out… and no way you’ll want to look away.