Можно ли в 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
#EnVideo | Ministro para la Salud, Carlos Alvarado, informó que se ha priorizado la atención en hemodinamia y la colocación de marcapasos, áreas en las que se han obtenido importantes avances para el bienestar de los pacientes.
Asimismo, señaló que, en materia de intervención de cataratas, se han realizado más de 13 mil cirugías durante los últimos dos meses, mientras que indicó que en el Hospital Dr. Domingo Luciani se está implementando el Plan Cataratas Acelerado, con el propósito de optimizar la capacidad de respuesta quirúrgica.
#EnVideo | Agente de Venezuela ante la CIJ,
Samuel Moncada, ahondó en las múltiples provocaciones que sufrió Venezuela por el imperio británico para apropiarse del territorio de la Guayana Esequiba.
Agregó que en ese contexto Venezuela "confió en la supuesta buena voluntad de los Estados Unidos" para la resolución de la controversia, quienes solo buscaban reeditar la doctrina Monroe, para imponer la soberanía del país norteamericano sobre el hemisferio.
#EnVideo📹| Durante la sesión ante la Corte Internacional de Justicia, el Agente de Venezuela ante la CIJ Samuel Moncada expuso que los mecanismos de resolución de controversias para defender la integridad territorial de Venezuela, y proteger sus intereses más esenciales, no pueden ser aplicados por terceros.
"Venezuela no ha consentido en ningún momento someter esta controversia a la jurisdicción de ninguna corte o tribunal arbitral", enfatizó.
#EnVideo📹 | Presidente del Banco Central de Venezuela (BCV), Luis Pérez, instó a seguir acompañando al Ejecutivo Nacional en la petición de cese de sanciones para garantizar la estabilidad y los derechos económicos de todos población venezolana.
#EnVideo📹 | Presidente del Banco Central de Venezuela (BCV), Luis Pérez, afirmó que el país representa una oportunidad estratégica para la inversión extranjera.
Asimismo, proyectó que el periodo 2026-2027 estará definido por el ingreso de numerosas inversiones a la nación, siempre bajo el cumplimiento del marco legal y el sistema financiero venezolano.
#EnVideo📹| Presidente del Banco Central de Venezuela (BCV), Luis Pérez, recalcó que este año 2026 será el año de la normalización económica en múltiples ámbitos.
Esta proyección consolida la estabilidad macroeconómica y el crecimiento sostenido mediante políticas que fortalecen la confianza inversionista y el desarrollo productivo nacional.
#EnVideo📹| Presidente del Banco Central de Venezuela (BCV), Luis Pérez, precisó que gracias al esfuerzo de la presidenta (E) de la República Bolivariana de Venezuela, Delcy Rodríguez, se han logrado muchos frutos importantes en el ámbito económico.
Pérez destacó que este es el vigésimo trimestre de crecimiento económico sostenido en la nación Bolivariana.
🔴#EnVideo | Geopolítica
📌Activistas de la Flotilla Global Sumud llegan a Turquía tras ser detenidos por Israel en aguas internacionales.
📌 La misión reunía a más de 170 personas de distintos países rumbo a Gaza con ayuda humanitaria. Gobiernos europeos denunciaron la acción y exigieron su liberación.
____
Síguenos en nuestra web 💻extranewsmundo y en las redes sociales extranewsmundo: | X | Instagram | YouTube | Bluesky|Threads|Tiktok
🔴#EnVideo | Cuba
📌 En la mayor de las Antillas más de 100 mil personas se movilizaron este 1ro de Mayo en contra del bloqueo económico.
____
Síguenos en nuestra web 💻extranewsmundo y en las redes sociales extranewsmundo: | X | Instagram | YouTube | Bluesky|Threads|Tiktok
🔴#EnVideo | Venezuela
📌 Como una muestra de la pluralidad democrática que reina en la nación bolivariana, este 1 de mayo chavistas y opositores marcharon en la ciudad de Caracas, en el marco de la conmemoración del Día del Trabajador.
📌 Jhannely González con el reporte.
____
Síguenos en nuestra web 💻extranewsmundo y en las redes sociales extranewsmundo: | X | Instagram | YouTube | Bluesky|Threads|Tiktok
🔴#EnVideo | Venezuela
📌 "El renacer de Venezuela"
📌 La presidenta encargada, Delcy Rodríguez, anunció el aumento del salario a los trabajadores del país.
📌 A continuación los detalles.
____
Síguenos en nuestra web 💻extranewsmundo y en las redes sociales extranewsmundo: | X | Instagram | YouTube | Bluesky|Threads|Tiktok
🔴#EnVideo | Geopolítica
📌 La empresa de software estadounidense especializada en análisis de big data e inteligencia artificial, Palantir, ha generado un gran revuelo en el mundo a causa de un manifiesto publicado el 18 de abril de 2026, titulado “La República Tecnológica en resumen” y que ha sido descrito como tecnofacismo.
📌 Javier Couso te explica Corto y Claro de qué se trata.
____
Síguenos en nuestra web 💻extranewsmundo y en las redes sociales extranewsmundo: | X | Instagram | YouTube | Bluesky|Threads|Tiktok