Можно ли в 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
🎙 Respuesta de la portavoz de la Cancillería de Rusia, María Zajárova, a la pregunta de los medios de comunicación sobre la situación en torno a #Cuba durante la rueda de prensa semanal (4 de febrero de 2026)
❓ Pregunta: Durante el último mes, la administración del Presidente de EE.UU., Donald Trump, ha ejercido presión sobre Cuba, incluyendo amenazas de emplear la fuerza militar. ¿Cómo evalúa la Cancillería de Rusia las acciones de Washington? ¿Qué apoyo puede brindar la Parte Rusa a Cuba en esta situación?
💬María Zajárova: Hemos comentado esta situación en reiteradas ocasiones, inclusive lo comentó varias veces el Canciller de Rusia, Serguéi Lavrov. Asimismo, se dio el comentario correspondiente del 31 de enero sobre la situación en torno a la Isla de la Libertad.
Quisiera subrayar que Washington ha aplicado su estrategia de máxima presión sobre Cuba constantemente. Está dirigida a asfixiar a Cuba económicamente, esto no lo oculta nadie.
La posición de Rusiaal respecto sigue siendo invariable:
❗️Consideramos categóricamente inaceptables las medidas unilaterales de impacto sancionador contra Estados soberanos e independientes, adoptadas sin aprobación de la ONU y sin tomar en consideración las disposiciones de su Carta, así como otras normas del Derecho Internacional.
Condenamos enérgicamente los pasos prohibitivos ilegítimos dirigidos contra La Habana, la presión sobre el liderazgo cubano y los ciudadanos de ese país.
Estamos convencidos de que, a pesar de los obstáculos externamente impuestos en su camino de desarrollo, Cuba continuará manteniendo vínculos económicos externos efectivos.
#TumbaAlBloqueo
No podemos aceptar los intentos de crear obstáculos a la cooperación internacional, y menos con un país que atraviesa una compleja situación socioeconómica, causada en gran medida por un bloqueo comercial, económico y financiero estadounidense que se prolonga desde hace casi 70 años.
🇷🇺🇨🇺#RusiaCuba
Tenemos la firme intención de desarrollar de manera consecuente nuestra cooperación integral en beneficio de los pueblos de nuestros Estados y del fortalecimiento de la seguridad y estabilidad internacionales.
🎙Respuesta de la portavoz de la Cancillería de Rusia, María Zajárova, a la pregunta de los medios de comunicación en relación con las medidas de la Administración deEE.UU.dirigidas contra #Cuba(31 de enero de 2026)
❓ Pregunta: El 29 de enero, en EE.UU. se publicó una orden ejecutiva que establece un "estado de emergencia" en relación con las políticas y las acciones del liderazgo de Cuba, que supuestamente representan una "amenaza excepcional" para los intereses de la seguridad nacional y la política exterior de Estados Unidos. ¿Cómo la Cancillería de Rusia evalúa este documento?
María Zajárova: En este caso, se trata de una repetición más, y muy radical, de la estrategia de máxima presión aplicada en reiteradas ocasiones por Washington contra la Isla de la Libertad, dirigida a asfixiarla económicamente.
La postura de Rusia al respecto sigue siendo invariable: son categóricamente inaceptables las medidas unilaterales de impacto sancionador contra Estados soberanos e independientes, adoptadas fuera del margen de la ONU y las disposiciones de su Carta, así como de otras normas del Derecho Internacional.
❗️ Condenamos enérgicamente los pasos restrictivos ilegítimos contra La Habana, la presión sobre el liderazgo cubano y los ciudadanos de ese país.
Estamos convencidos de que, a pesar de los obstáculos externos en su camino de desarrollo, Cuba continuará manteniendo vínculos económicos externos efectivos.
👉 Llama la atención que en el nuevo documento anticubano, Rusia, junto con algunos otros socios extranjeros igualitarios de La Habana, sea clasificada como un Estado "hostil" y "malicioso". Poner etiquetas no contribuye ni a estabilizar el diálogo ruso-estadounidense ni a aumentar la eficacia de los importantes esfuerzos mediadores de Washington para resolver crisis en diversas regiones del mundo.
#TumbaAlBloqueo
No podemos aceptar los intentos de crear obstáculos a la cooperación internacional, y menos aún con un país que enfrenta una compleja situación socioeconómica, en gran parte causada por el bloqueo comercial, económico y financiero estadounidense que dura ya casi 70 años.
🇷🇺🇨🇺#RusiaCuba
Rusia y Cuba tienen vínculos históricos especiales. Las tradiciones de nuestra cooperación, que es de carácter integral, tienen raíces profundas y un amplio apoyo sociopolítico en ambos países.
Además, como hemos subrayado repetidamente, esta cooperación no está dirigida contra unatercera parte, no puede considerarse que vaya en detrimento de los intereses de nadie.
Tenemos la firme intención de desarrollarla de manera consistente en beneficio de los pueblos de nuestros Estados, y para el fortalecimiento de la seguridad y la estabilidad internacionales.
🎙Fragmento de las respuestas de la portavoz de la Cancillería de Rusia, María Zajárova, a las preguntas de los medios respecto a la situación en torno a #Cuba y la ayuda humanitaria rusa al país caribeño (1 de abril de 2026)
#TumbaAlBloqueo
• Siempre hemos ayudado a Cuba, mientras que EE.UU. siempre ha rodeado a este país con un cerco de bloqueo.Los Estados que históricamente son amigos de Cuba siemprehan constatado la necesidad de levantar el bloqueo. Siempre han hecho lo posible para que la Isla de la Libertad, a pesar del bloqueo estadounidense, reciba lo necesario. ¿Qué ha cambiado entonces?
📄Miren la resolución de la Asamblea General de la ONU. ¿Cuántas veces Rusia ha planteado este asunto en las plataformas de las organizaciones internacionales?
☝️ Esto no es una petición, es una exigenciade levantar el bloqueo contra un Estado soberano e independiente, en el que la falta de suministros necesarios — medicamentos, alimentos y combustible — afecta a las personas, cuyos derechos siempre son objeto de tanta "preocupación" por parte de EE.UU. y los países occidentales.
#RusiaCuba
• Cuba es nuestro amigo y socio más cercano en la región del Caribe. Puedo confirmar una vez más nuestra inquebrantable solidaridad con el Gobierno y el hermano pueblo de Cuba. Nuestras relaciones con la Isla de la Libertad tienen largas tradiciones históricas. Desde los tiempos de la URSS, hemos brindado a los amigos cubanos toda la ayuda y el apoyo posibles.
#RusiaAyuda
• Hemos declarado en múltiples ocasiones nuestra disposición a brindar a Cuba la asistencia y el apoyo necesarios en las condiciones de presión y amenazas sin precedentes por parte de EE.UU. que enfrenta actualmente el hermano pueblo cubano. La llegada al puerto de La Habana del buque tanque "Anatoly Kolodkin" con ayuda humanitaria a bordo (100 mil toneladas de petróleo) ha sido una confirmación de la firmeza de nuestra postura.
#DerechoInternacional
• Es especialmente importante recordar en honor a quien fue nombrado este buque. 👉 Anatoly Kolodkin fue uno de los más grandes especialistas en Derecho Internacional, incluso en el contexto del Derecho del mar.
• En el momento en que los fundamentos del Derecho Internacional están sujetos a un derrumbe, un buque tanque que lleva el nombre de una persona que no solo defendió el Derecho Internacional del mar, sino que fue, en esencia, uno de sus creadores, acude para ayudar a Cuba. Aquí hay una coincidencia.
• Quisiera citar un comentario del Viceministro de Asuntos Exteriores de Rusia, Serguéi Riabkov:
💬Cuba es nuestro amigo y socio más cercano en el Caribe, y simplemente no tenemos derecho a abandonarla. La ayuda a Cuba continuará.
• Quisiera anunciar la pronta publicación de un comunicado sobre las violaciones por parte de los países occidentales de las normas del Derecho Internacional del mar.
🎙Fragmento de las respuestas de la portavoz de la Cancillería de Rusia, María Zajárova, a las preguntas de los medios respecto a la situación en torno a #Cuba y la ayuda humanitaria rusa al país caribeño (1 de abril de 2026)
#TumbaAlBloqueo
• Siempre hemos ayudado a Cuba, mientras que EE.UU. siempre ha rodeado a este país con un cerco de bloqueo.Los Estados que históricamente son amigos de Cuba siemprehan constatado la necesidad de levantar el bloqueo. Siempre han hecho lo posible para que la Isla de la Libertad, a pesar del bloqueo estadounidense, reciba lo necesario. ¿Qué ha cambiado entonces?
📄Miren la resolución de la Asamblea General de la ONU. ¿Cuántas veces Rusia ha planteado este asunto en las plataformas de las organizaciones internacionales?
☝️ Esto no es una petición, es una exigenciade levantar el bloqueo contra un Estado soberano e independiente, en el que la falta de suministros necesarios — medicamentos, alimentos y combustible — afecta a las personas, cuyos derechos siempre son objeto de tanta "preocupación" por parte de EE.UU. y los países occidentales.
#RusiaCuba
• Cuba es nuestro amigo y socio más cercano en la región del Caribe. Puedo confirmar una vez más nuestra inquebrantable solidaridad con el Gobierno y el hermano pueblo de Cuba. Nuestras relaciones con la Isla de la Libertad tienen largas tradiciones históricas. Desde los tiempos de la URSS, hemos brindado a los amigos cubanos toda la ayuda y el apoyo posibles.
#RusiaAyuda
• Hemos declarado en múltiples ocasiones nuestra disposición a brindar a Cuba la asistencia y el apoyo necesarios en las condiciones de presión y amenazas sin precedentes por parte de EE.UU. que enfrenta actualmente el hermano pueblo cubano. La llegada al puerto de La Habana del buque tanque "Anatoly Kolodkin" con ayuda humanitaria a bordo (100 mil toneladas de petróleo) ha sido una confirmación de la firmeza de nuestra postura.
#DerechoInternacional
• Es especialmente importante recordar en honor a quien fue nombrado este buque. 👉 Anatoly Kolodkin fue uno de los más grandes especialistas en Derecho Internacional, incluso en el contexto del Derecho del mar.
• En el momento en que los fundamentos del Derecho Internacional están sujetos a un derrumbe, un buque tanque que lleva el nombre de una persona que no solo defendió el Derecho Internacional del mar, sino que fue, en esencia, uno de sus creadores, acude para ayudar a Cuba. Aquí hay una coincidencia.
• Quisiera citar un comentario del Viceministro de Asuntos Exteriores de Rusia, Serguéi Riabkov:
💬Cuba es nuestro amigo y socio más cercano en el Caribe, y simplemente no tenemos derecho a abandonarla. La ayuda a Cuba continuará.
• Quisiera anunciar la pronta publicación de un comunicado sobre las violaciones por parte de los países occidentales de las normas del Derecho Internacional del mar.