Можно ли в 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
🎬2001: Uma Odisséia no Espaço (1968)
Gênero: #Aventura
⭐️ IMDb: 8.3
⏳ Duração: 2 h 29 min
📝 Sinopse:
Trás descobrir um misterioso artefato na superfície da Lua, a humanidade tenta encontrar seus origens com a ajuda da inteligença do ordernador HAL 9000.
Fonte: IMDb
🔵Inscreva-se em @Assistir
*Patrocinado: Anime Bot
📺- EL GRAN GUERRERO -📺
Título Original: Chief of War
Género:#Aventura#Drama
Temporadas: 1 📼
Año: 2025
Origen: EEUU 🇺🇸
Tráiler: dai.ly/x9njmkc
Sinopsis:
Historia ambientada durante la unificación de las islas hawaianas en el siglo XVIII desde una perspectiva indígena. Un jefe militar hawaiano, el guerrero Ka'iana (Momoa) se une a una sangrienta campaña para unir las islas en guerra e intentar salvarlas de la amenaza de la colonización occidental.
Disponible:Prime Video | Apple TV
@SeriesClubHD
📺- LA CATEDRAL DEL MAR -📺
Título Original: La Catedral del Mar
Género:#Drama#Aventura
Temporadas: 1 📼
Año:2018
Origen: España 🇪🇸
Tráiler: youtu.be/rdazkGhdr58
Sinopsis:
Barcelona, siglo XIV. Bajo la Corona de Aragón, la ciudad condal se encuentra en su momento de mayor prosperidad y los habitantes del humilde barrio de pescadores de la Ribera deciden construir, con el dinero de unos y el esfuerzo de otros, el mayor templo mariano jamás conocido: la catedral Santa María del Mar. Mientras se construye el edificio, Arnau Estanyol va creciendo y descubriendo Barcelona. Adaptación de la famosa novela de Ildefonso Falcones, publicada en 2006.
Disponible:A Tres Player
@SeriesClubHD
🎬Interestelar (2014)
Gênero: #Aventura, #Drama
⭐️ IMDb: 8.7
⏳ Duração: 2 h 49 min
📝 Sinopse:
Uma equipe de exploradores viaja através de um buraco de minhoca no espaço, na tentativa de garantir a sobrevivência da humanidade.
Fonte: IMDb
🔵Inscreva-se em @Assistir
*Patrocinado: Anime Bot
🎬Perdido em Marte (2015)
Gênero: #Aventura, #Drama
⭐️ IMDb: 8.0
⏳ Duração: 2 h 24 min
📝 Sinopse:
Um astronauta fica preso em Marte, enquanto sua equipe pensa que ele morreu. Ele vai fazer o possível para tentar enviar um sinal até a Terra.
Fonte: IMDb
🔵Inscreva-se em @Assistir
*Patrocinado: Anime Bot
🎬O Regresso (2015)
Gênero: #Drama, #Aventura
⭐️ IMDb: 8.0
⏳ Duração: 2 h 36 min
📝 Sinopse:
Em uma expedição de comércio de peles em 1820, um homem luta para sobreviver depois de ser atacado por um urso e dado como morto por seu próprio grupo de caça.
Fonte: IMDb
🔵Inscreva-se em @Assistir
*Patrocinado: Anime Bot
🎬The Goat Life (2024)
Gênero: #Aventura, #Drama
⭐️ IMDb: 8.1
⏳ Duração: 2 h 53 min
📝 Sinopse:
Najeeb Muhammad, um trabalhador migrante indiano, vai para a Arábia Saudita em busca de dinheiro. No entanto, por uma reviravolta do destino, ele acaba vivendo como um escravo, pastoreando c...
Fonte: IMDb
🔵Inscreva-se em @Assistir
*Patrocinado: Anime Bot
🎬The Goat Life (2024)
Gênero: #Aventura, #Drama
⭐️ IMDb: 8.1
⏳ Duração: 2 h 53 min
📝 Sinopse:
Najeeb Muhammad, um trabalhador migrante indiano, vai para a Arábia Saudita em busca de dinheiro. No entanto, por uma reviravolta do destino, ele acaba vivendo como um escravo, pastoreando c...
Fonte: IMDb
🔵Inscreva-se em @Assistir
*Patrocinado: Anime Bot
💥💥ESTRENO 💥💥
☃️ Ninja Kamui
🗓 11 FEB 2024
🌈 Géneros: #Acción#Aventura
📺 Episodios: 12
⛲️ Fuente: Original
🖌 Estudio: E&H Production
El exninja Joe Higan escapa de su clan y se esconde de su pasado violento en los Estados Unidos rural. Una noche, es emboscado por un equipo de asesinos de su antigua organización que exigen una sangrienta retribución a Joe por traicionar su código.
Enlace:
🔗https://teraboxapp.com/s/1Wrj5SgpNopBqITEIfdKzIw
*SE ACTUALIZA CADA DOMINGO*
⭐️Descarga MagisTV para ver más series y películas de forma gratuita
🔗https://links.magistv.top/info.krlo
📎Tutorial para acceder al contenido ✨
▹ Dar click en 👉🏻Ver Tutorial
🎥- SWEET TOOTH: EL NIÑO CIERVO -🎥
Título Original: Sweet Tooth
Género:#Aventura#Fantasía
Temporadas: 3 📼
Año: 2021 - 2024
Origen: EEUU 🇺🇸
Tráiler:dai.ly/x8yuwza
Sinopsis:
Un cataclismo ha devastado el mundo. Gus, mitad chico y mitad ciervo, se une a una variopinta familia de niños híbridos como él para buscar respuestas a lo ocurrido.
Disponible:Netflix
@SeriesClubHD
📺- LAS CRÓNICAS DE SHANNARA -📺
Título original: The Shannara Chronicles
Título Alternativo: Shannara
Género:#Fantasía#Aventura
Temporadas:2 📼
Año: 2016
Origen: EEUU 🇺🇸
Tráiler:youtu.be/2cbLfgM5z7M
Sinopsis:
Todo comienza cuando Ellcrys, un místico árbol élfico enferma y su muerte está cada día más cerca. Este árbol ha sido la única pieza mágica que ha protegido siempre las Cuatro Tierras del mundo maquiavélico de los demonios. Amberle Elessedil es la única que puede salvarlo. Para ello, tendrá que desbloquear la magia de los elfos que lleva miles de años sin utilizarse. Con la ayuda de Wil Ohmsford, viajará por cada rincón para buscar la magia perdida y curar al árbol Ellcrys.
Disponible:Netflix⏳
@SeriesClubHD
📺- THE WITCHER -📺
Título original: The Witcher
Género:#Fantasía#Aventura
Temporadas:4
Año: 2019📡
Origen:EEUU🇺🇸
Tráiler:https://dai.ly/x8mqrhn
Sinopsis:
Geralt, un brujo que se dedica a cazar monstruos genéticamente modificados, busca su lugar en un mundo donde a menudo los humanos demuestran ser peores que las bestias.
Disponible:Netflix
@SeriesClubHD