Можно ли в 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
🖊OPINION | Invasion and Constitution
In this opinion piece, distinguished writer Luis Britto García blasts US colonial pretenses, reviews constitutional provisions on sovereignty and hydrocarbons, and recounts events described as the April 2002 kidnapping of Venezuela’s head of state and the resulting civilian deaths.
Access the complete column here 👉🏽https://shorturl.at/wfawJ
#Constitution#PDVSA#USVenezuelaRelations
Konstitutsiya – xususiy mulk himoyasi, tadbirkorlikni qo‘llab-quvvatlash va sanoat taraqqiyotining asosiy huquqiy kafolati
Oliy Majlis Qonunchilik palatasining Tadbirkorlik, raqobatni rivojlantirish va sanoat masalalari qo‘mitasi “Konstitutsiya – xususiy mulk himoyasi, tadbirkorlikni qo‘llab-quvvatlash va sanoat taraqqiyotining asosiy huquqiy kafolati” mavzusida davra suhbati o‘tkazildi.
Tadbirda deputatlar, tegishli vazirlik va idoralar, Savdo-sanoat palatasi, Biznes-ombudsman, Raqobatni rivojlantirish qo‘mitasi, Yoshlar parlamenti hamda Vazirlar Mahkamasi huzuridagi Biznes va tadbirkorlik oliy maktabi vakillari ishtirok etishdi.
Uchrashuvda xususiy mulk daxlsizligi, tadbirkorlik erkinligi, raqobat muhitini kuchaytirish, investitsiyaviy jozibadorlik va sanoatning barqaror o‘sishiga oid islohotlar hamda ularni amalga oshirishdagi muammolar ko‘rib chiqildi.
Yakunda iqtisodiy islohotlarni jadallashtirish va biznes uchun qulay sharoitlarni kengaytirish bo‘yicha ustuvor vazifalar belgilab olindi.
#GSBE#GraduateSchool#Constitution#Business
🔝Web-site |🔝Facebook | 🔝Instagram | 🔝Youtube
🆕 NEWS | Maduro Presents Constitutional Reforms Package to Amplify Democracy and Chart ‘Sustainable’ Economic Course
President Nicolás Maduro has introduced an 80-article constitutional reform proposal, emphasizing participatory democracy and a long-term economic roadmap.
A National Commission has been formed to lead the process, and a public consultation will take place before a national referendum. A final proposal is expected in 90 days.
🔗 Read the full report here: https://shorturl.at/IVq9h
#Constitution#NicolasMaduro#PopularPower
🇺🇿 8-dekabr - Oʻzbekiston Respublikasi Konstitutsiyasi qabul qilingan kun
Sizni yurtimiz va xalqimiz uchun tenglik va adolat tamoyillarining asosiy kafolati bo‘lgan O‘zbekiston Respublikasining Konstitutsiyasining 33 yillik bayrami bilan samimiy muborakbod etamiz.
Vatanimiz ravnaqi va el-yurt farovonligi yo‘lida qilayotgan fidokorona mehnatingizga ulkan muvaffaqiyatlar, yangi zafarlar va mustahkam sog‘lik tilaymiz.
🇺🇿Biznes va tadbirkorlik oliy maktabi jamoasi
#GSBE#GraduateSchool#Constitution#Day
🔝Web-site |🔝Facebook | 🔝Instagram | 🔝Youtube
🚨⚖️TRUMP BIRTHRIGHT CITIZENSHIP BAN: SUPREME COURT SHOWDOWN
🔹 Trump executive order targets children born to undocumented & visa holder parents — blocked since Jan 2025 📋
🔹 Supreme Court hears Barbara v. Trump April 1 — ruling June/July will reshape citizenship law ⚖️
🔹 Would overturn 130 years precedent since 1898 establishing birth-on-soil citizenship 🇺🇸
🔹 If upheld, birth certificate alone insufficient — parents must prove legal status 📜
Constitutional crisis! 14th Amendment vs Trump immigration crackdown showdown 💥
History on trial. America's founding birthright principle under attack! ⚡
#USNews#immigration#SupremeCourt#Constitution
@america
#language#russia#constitution#law
Испанская газета El País пишет о положении региональных языков и этносов в свете введения формулировки о государствообразующем народе в Конституцию. Кстати, в статье цитируется @tpolit.
https://elpais.com/internacional/2020-06-29/los-tartaros-temen-la-rusificacion.html#comentarios
📌 “Ochiq eshiklar”kuni!
O‘zbekiston Respublikasi Vazirlar mahkamasi huzuridagi Biznes va tadbirkorlik oliy maktabi barchani taklif etadi.
🗓 7-dekabr
⏰ 11:00
🔎Batafsil
Konstitutsiyamizga qanday o‘zgartirishlar kiritildi❓
Korrupsiyaga qarshi kurashishda e’tiborimizni nimaga qaratishimiz kerak❓
✅Bu kabi barcha savollarga tadbir doirasida javob olishingiz mumkin.
#GraduateSchool#Uzbekistan#Constitution#Corruption
Web-site | Telegram | Facebook |Instagram
Aziz yurtdoshlar!
🇺🇿 Mamlakatimiz barqarorligi va tinchligimizning huquqiy tayanchi uchun mustahkam poydevor bo‘lib xizmat qilayotgan Asosiy qonunimiz qabul qilingan kun muborak bo‘lsin!
🇺🇿 Konstitutsiyamiz nafaqat biz yashayotgan va ishlayotgan qoida va tamoyillarni belgilab beradi, balki ertangi kunga ishonch va jamiyatimiz bilan faxrlanish tuyg‘usini mustahkamlab, yangi marralarni zabt etishga ilhomlantiradi.
🇺🇿 Vatanimiz ravnaqi va el-yurt farovonligida qilayotgan mehnatingizga muvaffaqiyat tilaymiz!
Eng samimiy tilaklar ila,
Biznes va tadbirkorlik oliy maktabi jamoasi.
#GraduateSchool#Constitution#Law#Uzbekistan
🔝Web-site |🔝Facebook | 🔝Instagram | 🔝Youtube
Spain’s people voted to approve a new Constitution on December 6, 1978. This ended Franco’s dictatorship and started democracy. The Constitution was officially made law on December 27, 1978. It gave rights and freedoms to everyone in Spain. 🇪🇸📜
[Source]
@googlefactss#Spain#Democracy#History#Constitution #1978
Does the new constitutional declaration truly guarantee justice and equality for all Syrians, or does it reinforce existing power structures? Share your thoughts with Hoopoe on its implications for governance and civil rights.
#Syria#Constitution
#AhmadSharaa#Julani
O‘zbekiston Respublikasi Konstitutsiyasi qabul qilinganligining 33 yilligi hamda 9 dekabr – Xalqaro korrupsiyaga qarshi kurashish kuni munosabati bilan o‘tkazilgan ma’naviy-ma’rifiy tadbir
O‘zbekiston Respublikasi Konstitutsiyasi qabul qilinganligining 33 yilligi hamda 9 dekabr – Xalqaro korrupsiyaga qarshi kurashish kuni munosabati bilan O‘zbekiston Respublikasi Vazirlar Mahkamasi huzuridagi Biznes va tadbirkorlik oliy maktabi professor-o‘qituvchilari, xodimlari va magistratura tinglovchilarining huquqiy savodxonligini oshirish, targ‘ibot-profilaktika ishlarini takomillashtirish hamda korrupsiyaga qarshi kurashish sohasida ilmiy-nazariy bilim va amaliy ko‘nikmalarini mustahkamlash maqsadida Ichki ishlar vazirligi akademiyasi professori, polkovnik – Qobilov Sharif Rahimovich ishtirokida ma’naviy-ma’rifiy tadbir tashkil etildi.
Tadbirni, O‘zbekiston Respublikasi Vazirlar Mahkamasi huzuridagi Biznes va tadbirkorlik oliy maktabi direktorining o‘rinbosari Bahrom Avazbaevich Xolboev kirish so‘zi bilan ochib, O‘zbekiston Respublikasi Prezidentining 2025 yil 21 noyabr kuni “O‘zbekiston Respublikasi Konstitutsiyasi kuni bayramiga tayyorgarlik ko‘rish va uni o‘tkazish to‘g‘risida”gi F-60-son Farmoyishiga muvofiq, “Konstitutsiya — inson qadri, erkinlik, tenglik va adolat garovi!” degan hayotiy shior asosida keng nishonlanayotganligini ta’kidladi.
🇺🇿Batafsil
🇷🇺RU
🇬🇧ENG
#GSBE#GraduateSchool#Constitution#AntiCorruption#Day
🔝Web-site |🔝Facebook | 🔝Instagram | 🔝Youtube