Можно ли в 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
#EEUU. La situación judicial de Trump y la memoria de Biden arrasan definitivamente con el mito de las #elecciones como parte de un sistema de #democracia meritocrática. Lo realmente sorprendente es... ¿los grupos de poder y las clases dirigentes en EEUU tienen tan destrozado el aparato político que son incapaces de encontrar candidatos minimamente presentables?
«El primer día del interrogatorio, en la Casa Blanca a principios de octubre, Biden no recordaba cuándo había terminado su mandato como vicepresidente. “Si fuera 2013, ¿cuándo dejé de ser vicepresidente?” preguntó, aparentemente sin recordar que dejó el cargo en enero de 2017.
Al día siguiente, mientras continuaban las entrevistas, no recordaba cuándo comenzó su mandato y dijo: “En 2009, ¿todavía soy vicepresidente?”
El informe del fiscal especial Robert K. Hur, si bien concluyó que no merecían cargos penales por el manejo descuidado de documentos clasificados por parte de Biden, pintó un retrato devastador de un presidente de 81 años cuya edad se ha convertido en un tema central en su campaña de reelección, diciendo que su la memoria era "significativamente limitada" y que tenía "precisión y recuerdo limitados".»
https://www.washingtonpost.com/politics/2024/02/08/biden-memory-special-counsel-report-robert-hur/
#FACEBOOK#DEMOCRACIA
📌 Recientemente os he hablado de las medidas que Facebook (entre otras compañías) está tomando para hacer frente a la difusión de #FakeNews y enfrentar de la mejor manera posible las acusaciones de injerencias en procesos democráticos por parte de terceros. https://t.me/antonigr/504
📌 En este sentido Facebook sigue dando pasos y en Europa acaba de eliminar cuentas que pretendían influenciar en las elecciones de Moldaviahttps://nyti.ms/2GU7MbE . Es el resultado del trabajo que llevan haciendo desde hace meses para identificar redes falsas http://bit.ly/2GQLV4T Esta estrategia la están desarrollando con miras a ponerla en práctica en próximas contiendas electorales europeas, pero también en otros lugares como Argentinahttps://clar.in/2GPAhHx
📌 En India, el mercado más grande de esta compañía también ha puesto su prioridad en combatir las #FakeNews con el objetivo que no influyan en las próximas elecciones de mayo http://bit.ly/2GPmdxM
📌 En África también está tomando medidas http://bit.ly/2GVaiPh , concretamente:
- Luchar contra las #FakeNews
- Promover la alfabetización digital y ayudar a la gente a identificar #FakeNews
- Promover el compromiso cívico
- Hacer los anuncios políticos más transparentes
- Formaciones a periodistas
- Retirar proactivamente cuentas falsas
- Partenariado con ONG y Sociedad Civil
- Formar a partidos y candidatos sobre seguridad
📌 Pero como ya hemos comentado en alguna ocasión, con Facebook siempre tenemos una de cal y una de arena https://t.me/antonigr/507 Se acaba de publicar por el Parlamento Británico el informe "Disinformation and Fake News"❗http://bit.ly/2GOY76n
📌 En dicho informe se califica a Facebook de actuar como _Gangsters Digitales_ http://bit.ly/2GU8RjI En el hilo de @rodrigo_ramirez encontraréis unas notas interesantes sobre el informe http://bit.ly/2GNLPuV La primera respuesta de la compañía es que se muestra abierta a una regulación razonable http://bit.ly/2GMuhzm Volvemos a un punto similar al que se encontraba Facebook cuando estalló el escándalo de Cambridge Analytica.
📌 En definitva, el Parlamento Británico denuncia que Facebook pone en peligro la democracia❗ y reclaman que sea regulado http://bit.ly/2GMvJBO
📌 Info relacionada:
- ¿Quiénes están más expuestos a la desinformación? https://t.me/antonigr/493
- Whatsapp y política https://t.me/antonigr/472
- Herramientas de FackChecking https://t.me/antonigr/457
‼️Ayer una estudiante con un ideal, hoy una presidenta con un proyecto.
La lucha por democratizar América Latina tiene rostro de mujer, mente de científica y corazón de pueblo.
¡Seguimos haciendo historia!
#EsTiempoDeMujeres#Transformación#México#Democracia#ClaudiaLíderGlobal
🇺🇸🎭Rick Scott expone la agenda intervencionista de Washington
❗️❗️El senador republicano Rick Scott afirmó sin rodeos que EE.UU. planea “arreglar” Venezuela, Cuba y Nicaragua, y anticipó un “nuevo presidente” en Colombia para el próximo año.
⚡️Las declaraciones revelan una visión colonial intacta: países soberanos tratados como piezas de ajedrez, elecciones ajenas anunciadas desde Washington y una “democracia” impuesta por conveniencia geopolítica.
#Injerencia#Imperialismo
#AméricaLatina#Soberanía
#EEUUAmenaza#NoAlColonialismo
#Geopolítica#Democracia
🇲🇽 Мексика готовится к масштабным выборам 1 июня 2025 года 🗳️
В это воскресенье жители Мексики отправятся на избирательные участки, чтобы сделать свой выбор на важнейших выборах года. В повестке дня:
🔹Выборы судей
🔹Местные выборы в штатах Дуранго, Веракрус и Пуэбла
Почему эти выборы важны?
- Первые прямые выборы судей меняют судебную систему.
- Локальные выборы влияют на борьбу с преступностью.
- Реформа может повлиять на экономику и отношения с США.
Национальный избирательный институт (INE) запустил специальную информационную кампанию, которая помогает гражданам быстро и удобно узнать, где находится их избирательный участок. Это стало частью усилий по укреплению прозрачности выборов и стимулированию гражданской активности.
Эти выборы имеют большое значение как для судебной системы, так и для регионального управления.
#Мексика#Выборы2025#INE#Политика#НовостиМира#Democracia#Elecciones2025
👉Всегда свежие новости о странах Латинской Америки
Portogallo a un bivio: fermare Ventura, ma la vera battaglia inizia dopo il ballottaggio
Il primo turno delle presidenziali in Portogallo ha consegnato uno scenario chiaro e preoccupante: il 24 gennaio si affronteranno António José Seguro (PS, socialisti) e André Ventura (Chega, estrema destra).
I numeri parlano di un Paese polarizzato:
Seguro: 31,12%
Ventura: 23,52% (un risultato che legittima e normalizza un progetto reazionario)
La sinistra (PCP, BE) si attesta su percentuali basse, mentre la destra moderata e liberale insieme superano il 35%.
Cosa significa?
L'accesso al ballottaggio di Ventura non è un incidente, ma il sintomo di un malessere profondo, alimentato da anni di politiche di destra, precarietà, crisi abitativa e tagli ai servizi pubblici. Una demagogia che offre capri espiatori (immigrati, poveri, "casta") invece di soluzioni.
Il pericolo Ventura
In Portogallo il Presidente non governa, ma ha poteri cruciali: veto sulle leggi, ricorso alla Corte Costituzionale, scioglimento del Parlamento. Una figura del genere nelle mani di un leader di estrema destra, xenofobo e autoritario, rappresenterebbe un rischio strategico per la democrazia e per le conquiste della Rivoluzione dei Garofani.
La posizione del PCP (Partito Comunista Portoghese)
Il PCP, il cui candidato António Filipe ha ottenuto l'1,64%, analizza così la situazione:
1. Voto utile contro Ventura: Per sbarrare la strada alla deriva reazionaria, nel ballottaggio voterà per Seguro. Attenzione: questo è un voto di mero contenimento, SENZA illusioni sul PS o sulla sua politica, considerata complice dell'offensiva di destra.
2. La battaglia vera inizia l'8 febbraio: Chiunque vinca, il giorno dopo il ballottaggio si dovrà riprendere la lotta sociale. Perché il vero obiettivo non è solo cambiare un nome al Palazzo, ma rompere con le politiche di destra che hanno creato il terreno per l'ascesa dell'estrema destra.
La strada da percorrere, secondo i comunisti portoghesi:
Organizzare la resistenza sociale.
Difendere il Servizio Sanitario Nazionale e i servizi pubblici.
Lottare per salari e pensioni dignitose, contro la precarietà.
Affrontare l'emergenza abitativa.
Riaffermare la sovranità nazionale e la pace.
Il messaggio è forte e chiaro: fermare Ventura al ballottaggio è un dovere democratico urgente, ma non basta. Per "riprendere la strada di Aprile" serve la mobilitazione popolare, ogni giorno.
#Portogallo#EleiçõesPresidenciais2026#AndréVentura#Chega#PCP#AbrilSempre#Democracia#LutaSocial
https://www.marx21.it/internazionale/portogallo-dopo-il-primo-turno-fermare-ventura-e-riprendere-la-strada-di-aprile/