Можно ли в 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
📺 Recomendación para el fin de semana: "Sunny"—Una dramedy sobre la tecnofobia, la pérdida y la amistad con un robot
¿Buscas algo único y conmovedor para ver este fin de semana? Echa un vistazo a "Sunny", una dramedy de ciencia ficción de Apple TV+ y la aclamada productora independiente A24 (Euphoria, Everything Everywhere All At Once).
🍿Sinopsis
Ambientada en Kioto, la historia sigue a Suzie, una mujer estadounidense que enfrenta la devastadora pérdida de su esposo e hijo en un accidente aéreo. Como parte de la compañía de su difunto esposo, recibe un robot diseñado a medida llamado Sunny para ayudarla a superar su duelo. Aunque al principio se muestra reacia debido a su tecnofobia, Suzie poco a poco forma un vínculo inesperado con el androide.
La serie está inspirada en The Dark Manual, una novela del autor irlandés Colin O’Sullivan. El libro desafía las clásicas leyes de la robótica de Isaac Asimov y explora las complejas dinámicas entre los humanos y la inteligencia artificial.
Formato: 10 episodios de 35 minutos cada uno.
Más para ver:
📹El Robot Salvaje: Una conmovedora película animada sobre la amistad entre un androide y los animales
📹Top 7 series sobre IA, el futuro y robots
#imperdible#películas@hiaimediaes
🍿 Qué ver este fin de semana: "Revancha" — Deep Blue vs. Garry Kasparov
La miniserie de 2024, Revancha, no es solo un thriller psicológico sobre ajedrez; es una fascinante historia de hombre contra máquina, donde el tablero de ajedrez se transforma en un campo de batalla por el futuro. En 1997, el mundo observó cómo Garry Kasparov, el mejor jugador de ajedrez de su tiempo, se enfrentó al superordenador de IBM, Deep Blue. ¿El premio total? Más de $1 millón.
♟El 11 de mayo de 1997, Kasparov perdió el sexto y último juego del encuentro. Fue la primera vez que un campeón mundial en ejercicio fue derrotado por un programa de computadora en una competencia por el título de ajedrez. Este juego se convirtió en un hito en la historia del ajedrez y la inteligencia artificial, señalando el comienzo de una nueva era donde las máquinas podían competir con los humanos en complejas arenas intelectuales.
✔️ La serie ya ha ganado el premio principal en el Festival Series Mania 2024.
✔️Los críticos están entusiasmados con la destacada interpretación de Christian Cooke como Kasparov.
⏰ Duración del episodio: 50 minutos.
Míralo aquí.
Si tienes curiosidad por saber más sobre la creación de Deep Blue, dale un pulgar arriba 👍
#imperdible#películas@hiaimediaes
@faffinitybot
¿Qué puede hacer este bot?
Con este bot podrá buscar información general de una película o serie en específico.
(Visto en @Botsgram_cu)
#Películas#Series
🍿 Nuevas películas de IA para el verano
El verano es el momento perfecto para ver algunas películas geniales. Hemos seleccionado una lista de nuevos estrenos en los que la inteligencia artificial juega un papel protagonista, ya sea como elemento central de la trama o como un personaje independiente.
⭐️Resistencia. Es una película sobre la guerra entre humanos y robots con IA. Un exsoldado descubre un arma secreta: un "niño robot" que cambiará la percepción de la humanidad para ambos bandos. La película, protagonizada por John David Washington, fue nominada a dos premios Oscar.
⭐️Aire, Just Breathe.En 2147, la humanidad está al borde de la extinción debido a un virus que causa infertilidad masculina. La bióloga Tanya, que trabaja en una solución con una IA llamada VIDA, enfrenta un nuevo desafío con la aparición de uno de los últimos hombres, Azarias.
⭐️Jung_E. Esta vez, la guerra se desarrolla entre planetas habitados por humanos en un futuro cercano. Un androide con cerebro humano muere en batalla, pero los científicos restauran su conciencia y crean una IA capaz de traer la victoria definitiva.
⭐️Robots. Es una comedia ingeniosa sobre un mujeriego y una cazafortunas. Compran ilegalmente dobles robots que hacen todo el trabajo preliminar de seducir a los clientes por ellos. Pero algo sale mal.
⭐️La bestia.Un drama francés donde la IA controla la vida y las emociones humanas son consideradas una amenaza. La protagonista, Gabrielle (Léa Seydoux), enfrenta problemas laborales debido a su emotividad. Decide someterse a un procedimiento de "limpieza de ADN" para deshacerse de la capacidad de sentir. Pero, ¿puede un programa de IA conquistar el amor?
Bonus:Mi Amigo Robot. Una conmovedora película animada sobre la amistad entre un perro solitario y un robot que accidentalmente se oxidó en la playa.
🥰 No te pierdas nuestras recomendaciones anteriores:
Top-10+1 Películas de IA para Inspiración
Top-7 Series Sobre IA, el Futuro y Robots
#mustsee#películas@hiaimediaes
¿Que puede hacer este bot?
@TGsubtitledownloadebot
Con éste bot puedes buscar y descargar subtítulos de películas
Idiomas: inglés
(Visto en @botsgram_cu)
#subtítulos#películas
¿Que puede hacer este bot?
@SubSoonBot
Bot para obtener subtítulos de películas con función de notificación
Idiomas: 77 idiomas incluido español
(Visto en @botsgram_cu)
#subtítulos#películas
¿Que puede hacer este bot?
@fmoviesearchbot
Este bot te ayudará a encontrar cualquier tipo de películas fácilmente.
Idiomas: inglés
(Visto en @botsgram_cu)
#películas#series#descargas
PELÍCULAS PARA LA CUARENTENA por #Joss_Pérez en su columna #Cine.
La interrupción de las actividades del día al día se transforma en momentos de ocio, así que para esta columna quisiera recomendar una serie de películas para disfrutar en compañía, en horario familiar o en privado😉.
#películas#artículo#columna#ArteFuturaMX
https://artefutura.com.mx
@artefuturamx
¿Que puede hacer este bot?
@StreamRadarBot
Este bot le muestra en qué plataformas de transmisión están disponibles las películas o series de su elección.
Idiomas: español, inglés
(Visto en @botsgram_cu)
#películas#series#streaming
¿Que puede hacer este bot?
@MovieDatabaseBot
Este bot multilingüe puede brindarle información sobre películas, series y personas. Obtenga carteles de películas, historias, actores, directores, calificaciones de críticos y más.
Conecte su cuenta TMDb para sincronizar su lista de seguimiento y favoritos, y para calificar películas y programas de TV sin tener que salir de Telegram.
Idiomas: varios incluido español
(Visto en @botsgram_cu)
#películas#series#tmdb
La noche devoró al mundo: una dosis de zombies, paranoia, desesperación y aislamiento por #Héctor_Fabian_Garcia en su columna #Imágenes_de_la_posmodernidad.
La epidemia no es aquella que esta en las calles plagadas de zombies, sino la que se encuentra dentro del edificio, es el encierro y el aburrimiento.
#cine#películas#artículo#columna#ArteFuturaMX
https://artefutura.com.mx
@artefuturamx
¿Que puede hacer este bot?
@Beetube_bot
Con éste bot puedes descargar música, videos, torrents, películas, pistas EDM y más, todo en un solo lugar.
Idioma: inglés
(Visto en @botsgram_cu)
#música#torrent#edm#videos#películas