Можно ли в 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
✉️President Vladimir Putin congratulated Russia’s Muslims on the occasion of Eid al-Fitr, marking the end of the Holy Month of #Ramadan(March 20, 2026):
✍️ For centuries, this holiday has symbolized believers’ striving for moral growth, compassion and mercy, guiding them towards the enduring values of Islam.
I would like to note that Russia’s Muslims show deep respect for the historical and spiritual traditions of their ancestors and widely celebrate this holiday within their communities and families. It has become a fine tradition to hold large-scale charitable, cultural, educational and children’s events throughout the Holy Month.
Muslim organisations make a meaningful contribution to strengthening the institution of the family, raising the younger generation, and fostering constructive dialogue with state and public institutions, while consistently advancing patriotic, educational and humanitarian initiatives.
And, of course, special words of gratitude go to the followers of Islam who, shoulder to shoulder with their comrades-in-arms, are fighting for the freedom and independence of the Fatherland, who support the families and loved ones of our heroes.
I wish you sound health, success and all the very best.
VLADIMIR PUTIN
O Allah, make my efforts in it (Ramadan) appreciated, my sins forgiven, my deeds accepted, and my shortcomings concealed, O Hearer of all who hear.
#Ramadan
✉Președintele Rusiei Vladimir Putin i-a felicitat pe musulmanii din Rusia cu prilejul sărbătorii Eid al-Fitr, care marchează încheierea lunii sfinte #Ramadan:
✍ Îi felicit pe musulmanii din Rusia cu prilejul sărbătorii Eid al-Fitr, care marchează încheierea lunii sfinte Ramadan.
De-a lungul secolelor, această sărbătoare întruchipează aspirația credincioșilor către desăvârșirea morală, către milă și compasiune, îndreptându-i către valorile nepieritoare ale islamului.
Remarc faptul că musulmanii din Rusia tratează cu profund respect tradițiile istorice și spirituale ale strămoșilor și marchează pe scară largă această sărbătoare în comunitățile și în cadrul familiilor lor. A devenit un bun obicei organizarea, pe parcursul lunii sfinte, a unor ample activități caritabile, culturale și educative dedicate copiilor.
Organizațiile musulmane aduc o contribuție constructivă la consolidarea instituției familiei, la educarea tineretului, dezvoltă un dialog constructiv cu structurile de stat și cele publice și acordă o atenție constantă implementării inițiativelor patriotice, educaționale și umanitare.
Și, desigur, cuvinte speciale de recunoștință se adresează adepților islamului care, umăr la umăr cu camarazii de luptă, luptă pentru libertatea și independența Patriei, oferind sprijin rudelor și apropiaților eroilor.
Vă doresc sănătate, succes și toate cele bune.
Vladimir Putin
🌙Barcha musulmonlarni muqaddas Ramazon oyi bilan muborakbod etamiz!
✨Xonadonlaringiz va qalblaringizda mehr-oqibat, osoyishtalik hukm sursin, ezgu orzularingiz ro'yobga chiqsin.
💫O'zingiz va yaqinlaringizga mustahkam sog'liq tilaymiz.
_________
🌙Поздравляем всех мусульман со светлым месяцем Рамадан!
✨Пусть в Ваших домах и сердцах поселятся добро, спокойствие и исполнятся благие мечты.
💫Крепкого здоровья Вам и Вашим близким.
#Artel#Ramadan #2021
#Turchia: circolare del Ministero dell'Istruzione: "Nel mese di #Ramadan, nelle scuole, vanno organizzate visite nelle moschee per i bambini che hanno tra i 4 e i 9 anni".
#Ramadan#ITC
🌙 Yurtimizga kirib kelgan Muborak Ramazon oyi barchamizga qutlug' bo'lsin!
🤲 Mazkur oyda barchamiz o'ylagan ezgu niyatlarimizga erishaylik. Alloh ilm egallash yo'lidagi qadamlarimizni sobit qilsin!
@ITCenter_Yaypan
🌙 Ramazon oyi muborak bo'lsin!
✨ Xonadoningizga tinchlik-xotirjamlik tilaymiz, fikrlaringiz va amallaringiz doimo ezgu bo'lsin!
Muborak Ramazon oyi taqvimini e'tiboringizga havola etamiz 🗓️
—
🌙 С наступлением священного месяца Рамадан!
✨ Мы желаем мира в ваших домах, чистых мыслей и добрых поступков!
Делимся с вами календарем на священный месяц 🗓️
#ramadan#kalleh
Пусть Аллах примет все ваши молитвы и пост в этот священный месяц 🤲📿❤️
Ифтар для дорогих и любимых друзей 🥰
Хотели бы ко мне в гости?😁🤗
#рамадан#ramadan
Fin du #Ramadan 2025 : les Sénégalais célèbrent la Korité
Ce lundi 31 mars marque la fin du mois du Ramadan au #Sénégal. Le président Bassirou Diomaye Faye s'est rendu à la Grande mosquée de Dakar pour la prière de l'Aïd. On plonge dans l'ambiance de cette fête musulmane avec Igor Kourachenko, notre envoyé spécial à Dakar.
RT en français • Osez questionner !
Дорогие друзья и коллеги,
UzVC поздравляет всех вас с наступающим священным месяцем Рамазан 🌙🌙
Пусть этот месяц принесёт в ваши дома мир, благополучие и спокойствие. Пусть ваши молитвы будут услышаны, а сердца наполнятся добром и благодарностью.
Желаем вам и вашим близким здоровья, духовного просвещения и благословенных дней.
С уважением,
команда UzVC
————
Aziz do'stlar va hamkasblar,
UzVC sizlarning barchasini muborak Ramazon oyining yaqinlashishi bilan tabriklaymiz 🌙🌙
Qo'y bu oy sizning uylaringizga tinchlik, farovonlik va xotirjamlik olib kelsin. Qo'y duolaringiz ijobat bo'lsin, qalblaringiz yaxshilik va minnatdorlik bilan to'lsin.
Sizlarga va yaqinlaringizga sog'lik, ma'naviy yuksalish va muborak kunlar tilaymiz.
Hurmat bilan,
UzVC jamoasi
————
Dear friends and colleagues,
UzVC congratulates you all on the upcoming holy month of Ramadan 🌙🌙
May this month bring peace, prosperity and tranquility to your homes. May your prayers be answered, and may your hearts be filled with kindness and gratitude.
We wish you and your loved ones good health, spiritual enlightenment, and blessed days.
Best Regards,
The UzVC Team
🌐Website |📷Instagram |🌐LinkedIn
#UzVC#Ramadan
News: #Ethiopia, #Qatar discuss resumption of meat exports ahead of Ramadan
Ethiopia and Qatar are working to resume meat exports that were previously suspended, following discussions between Ethiopia’s Minister of Agriculture Addisu Arega and Qatari Ambassador Saad bin Mubarak Al-Naimi.
According to a statement from the Ministry of Agriculture, the two officials met on Thursday to discuss strengthening bilateral cooperation in the agricultural sector, with particular focus on restoring Ethiopia’s meat exports to Qatar.
The discussions addressed technical and logistical issues that had interrupted the trade in the past. The ministry said both sides reached an understanding on measures that would allow Ethiopia to supply large volumes of meat products to the Qatari market beginning in the upcoming month of #Ramadan.
Officials described the resumption of meat exports as a strategic....
https://web.facebook.com/AddisstandardEng/posts/pfbid02yfdF7HLAotgZ42hFnyxPputF7p1NmCBG7M6eBPLGKL84gbxFBP7npa7HpJxNyFU2l