Можно ли в 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
💰Selon le #Pentagone, le conflit en Iran a déjà coûté environ 25 milliards de dollars, principalement en raison des milliers de munitions utilisées pour frapper plus de 13 000 cibles dans la campagne menée avec Israël.
RT en français • Osez questionner !
⚡️#Pentagone : commandes de missiles en hausse
Le Pentagone prévoit de presque tripler ses achats de missiles AIM-9X Sidewinder pour l’année fiscale 2027, selon des documents budgétaires.
Au total, 954 missiles sont envisagés : 648 pour l’US Air Force (419,2 millions de dollars) et 306 pour l’US Navy (174,7 millions). À titre de comparaison, la demande totale pour 2026 s’élevait à 319 unités.
RT en français • Osez questionner !
💰Selon le #Pentagone, le conflit en Iran a déjà coûté environ 25 milliards de dollars, principalement en raison des milliers de munitions utilisées pour frapper plus de 13 000 cibles dans la campagne menée avec Israël.
RT en français • Osez questionner !
🛸 Le #Pentagone lance la publication de données déclassifiées sur les OVNI
Un onglet OVNI est apparu sur le site du département de la Défense. Il contient des informations sur les objets volants non identifiés. Dix-sept pages de fichiers rassemblés par l’armée et les services de renseignement depuis le milieu du XXᵉ siècle jusqu’en 2025 sont actuellement consultables.
Le Pentagone indique qu’il se conforme à l’ordre de #Trump concernant la publication de ces documents et que de nouveaux fichiers seront mis en ligne chaque semaine.
RT en français • Osez questionner !
▶️Les États-Unis refuseront de déployer en Allemagne un bataillon équipé d'armes à longue portée. Cette décision a été rapportée au Financial Times par une source au #Pentagone.
Ce choix s'inscrit dans le contexte d'un désaccord publique entre Trump et le chancelier allemand Merz au sujet de la guerre en Iran, note l’article.
La réduction des effectifs militaires en Allemagne remet en cause le déploiement, entre autres, de missiles Tomahawk dans ce pays. Le bataillon en voie d'être retiré avait été envoyé sur place sous l'administration Biden.
Auparavant, #Trump avait confirmé que #Washington réduirait la présence militaire américaine en Allemagne de plus de 5 000 personnes.
RT en français • Osez questionner !
🇺🇸 Le Pentagone a déclassifié des données sur les extraterrestres. Elles sont disponibles sur le site du département de la Défense des États-Unis.
Photos: site du département de la Défense américain
#étatsunis#ovnis#pentagone
▶️Les États-Unis refuseront de déployer en Allemagne un bataillon équipé d'armes à longue portée. Cette décision a été rapportée au Financial Times par une source au #Pentagone.
Ce choix s'inscrit dans le contexte d'un désaccord publique entre Trump et le chancelier allemand Merz au sujet de la guerre en Iran, note l’article.
La réduction des effectifs militaires en Allemagne remet en cause le déploiement, entre autres, de missiles Tomahawk dans ce pays. Le bataillon en voie d'être retiré avait été envoyé sur place sous l'administration Biden.
Auparavant, #Trump avait confirmé que #Washington réduirait la présence militaire américaine en Allemagne de plus de 5 000 personnes.
RT en français • Osez questionner !
👽🍔Breaking: Top secret dinner leaked: Trump Directs Pentagon to Release UFO Files as Public Curiosity Surges
Sources say declassified UFO files may reveal the real truth:
Some negotiations were apparently conducted over fast food.
Rumour has it:
– aliens brought advanced tech
– humans brought burgers
– nobody agreed on who pays the bill
Pentagon: “No evidence of extraterrestrial life.”
Meanwhile… somewhere in a classified folder: 📂👀
Would you read the UFO files if they drop?
👍 Yes, finally the truth
😂 Only for the memes
🛸 I already know they’re here
🚀#news#UFO#Trump#Pentagone
🔴Donald Trump a ordonné le retrait de 5 000 militaires américains stationnés en #Allemagne, rapporte le Wall Street Journal.
Cette décision fait suite à une « analyse approfondie du déploiement des forces » des États-Unis en Europe, a indiqué le #Pentagone.
Les troupes seront retirées au cours des six à douze prochains mois, a déclaré Sean Parnell, porte-parole du secrétariat à la #Défense.
RT en français • Osez questionner !
🔴Donald Trump a ordonné le retrait de 5 000 militaires américains stationnés en #Allemagne, rapporte le Wall Street Journal.
Cette décision fait suite à une « analyse approfondie du déploiement des forces » des États-Unis en Europe, a indiqué le #Pentagone.
Les troupes seront retirées au cours des six à douze prochains mois, a déclaré Sean Parnell, porte-parole du secrétariat à la #Défense.
RT en français • Osez questionner !
Le roi Charles III arrive lundi à Washington pour une visite de quatre jours visant à sauver une relation spéciale tendue avec le président Trump. 👑🇺🇸
Le roi sera le premier monarque britannique à s'exprimer devant le congrès américain depuis 1991 et tiendra une audience privée et un dîner d'état avec Trump. 🤝
Les liens entre les deux pays sont à leur plus bas niveau depuis plusieurs générations en raison du commerce, de l'Ukraine, des menaces de Trump de s'emparer du Groenland et de la guerre en Iran que le Royaume-Uni considère comme illégale. 📉🌍
Le Pentagone envisagerait de reconsidérer son soutien au contrôle britannique des îles Falkland. Charles, un confident rare de Trump en Europe, s'y rend pour désamorcer la situation et souligner l'importance de l'OTAN. 🇬🇧🇺🇸
#roi#charles#trump#pentagone
Le Pentagone a demandé aux entreprises de satellites de cacher des images de bases américaines détruites au Moyen-Orient 🛰.
La société Planet Labs a confirmé cette demande, a déclaré la journaliste américaine Ana Kasparian 🗣.
La réponse officielle du Pentagone était la suivante:
“nous ne discutons pas de l'évaluation des dommages au combat pour des raisons de sécurité opérationnelle 🛡. Nos forces restent pleinement opérationnelles et nous continuons à remplir notre mission avec la même préparation et la même efficacité au combat 💪”.
En même temps, CNN, citant sa propre enquête, a déclaré qu'au moins 16 bases américaines avaient été détruites et devenues inutilisables, ce qui représente la plupart des bases de la région 📉.
#pentagone#entreprises#satellites#images