Можно ли в 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
#AmirTemur
Temur siymosi — yoshlar qalbida ilhom manbai
Amir Temur nafaqat buyuk sarkarda, balki ilm-fan ravnaqi yo‘lida fidoyilik ko‘rsatgan dono davlat arbobi sifatida tarixda o‘chmas iz qoldirgan. Uning siyosatida kuch-qudrat faqat qilich bilan emas, balki ilm-ma’rifat bilan mustahkamlanishi zarurligi ustuvor o‘rin tutgan. Shu bois Temuriylar davrida ilm ahli – olimlar, shoirlar, tarixchilar va faylasuflar doimo e’zozda bo‘lgan. Natijada Mirzo Ulug‘bek, Ali Qushchi, Xondamir kabi buyuk siymolar yetishib chiqdi.
Ana shunday ulug‘ ajdodimizning 690 yilligi munosabati bilan Toshkent tumani MMTB tasarrufidagi 27-sonli maktabning o‘quvchilari Amir Temur muzeyiga sayohat uyushtirdilar. Muzey devorlari orasida Sohibqironning hayoti, jasorati va donishmandligi haqida hikoya qiluvchi tarixiy eksponatlar o‘quvchilarda katta qiziqish uyg‘otdi. Ular bobomizning bosib o‘tgan sharafli yo‘li, adolatli siyosati va buyuk merosi bilan yaqindan tanishdilar.
Sayohat davomida o‘quvchilar qalbida Vatanga muhabbat, tarixga hurmat tuyg‘ulari yanada mustahkamlandi. Har bir bola o‘zida Amir Temurga xos jasorat va intilishni his etdi. Ushbu tashrif ularga nafaqat bilim, balki ilhom ham bag‘ishlab, yorqin taassurotlar bilan yodda qoldi.
📸Jarayon fotolavhalarda.
✅Telegram
💬Facebook
📸Instagram
📹YouTube
🌍Website
#AmirTemur
Sohibqiron Amir Temur tavallud kunimunosabati bilan "Uzbekistan GTL" xodimlari buyuk ajdodimizga bo‘lgan hurmat va ehtirom ramzi sifatida maxsus chellenjda ishtirok etmoqda.
Amir Temur merosi — jasorat, adolat, bunyodkorlik va Vatanga sadoqat timsoli. Uning boy tarixiy merosi bugun ham barchamizni yuksak maqsadlar sari ruhlantirib kelmoqda.
👉Bizni kuzating
web-sayt | instagram|telegram | youtube | facebook
#amirtemur
Tasavvur qiling Amir Temur Fargʻona koʻchalarida yurganda qanday manzara paydo boʻlardi?
Ushbu video Sohibqiron Amir Temur tavalludining 690-yilligi munosabati “Ruxsor” telekanali tomonidan tayyorlandi!
📮𝒀𝒐'𝒍𝒊𝒎𝒊𝒛-𝒃𝒊𝒓!
📝Telegram
💻Instagram
🎞Youtube🎙Radio FM _106.7
#AmirTemur
📣Sohibqiron Amir Temur tavalludining 690 yilligi
⚡️Ertaga buyuk sarkarda, yirik davlat arbobi va tarixiy shaxs Sohibqiron Amir Temur tavalludining 690 yilligi keng nishonlanadi. Bu sana nafaqat o‘zbek xalqi, balki butun jahon tarixida muhim o‘rin tutadi.
Amir Temur — markazlashgan qudratli davlat barpo etgan, adolat va tartibni ustuvor qilgan, ilm-fan, madaniyat va bunyodkorlikka keng yo‘l ochgan buyuk siymodir. Uning davrida Samarqand dunyoning eng go‘zal va rivojlangan shaharlardan biriga aylangan.
📖 Sohibqironning boy merosi, davlat boshqaruvi borasidagi tajribasi va “Kuch — adolatda” degan ulug‘ shiori bugungi kunda ham o‘z ahamiyatini yo‘qotmagan.
🏛 Amir Temur qoldirgan bebaho meros — milliy o‘zligimiz, tarixiy xotiramiz va kelajak avlodlar uchun mustahkam poydevordir. Uning hayoti va faoliyati yoshlarimizni vatanparvarlik, jasorat va fidoyilik ruhida tarbiyalashda muhim ahamiyat kasb etadi.
✨Sohibqiron xotirasi doimo qalblarda barhayot!
🔂Milliy kino san'ati saroyi Axborot xizmati
Web-site|Telegram| Instagram|Facebook
#AmirTemur
📜9-aprel — buyuk sarkarda va davlat arbobi Amir Temur tavallud kuni!
🔂Milliy kino san'ati saroyi Axborot xizmati
Web-site|Telegram| Instagram|Facebook
⚔️9-aprel – buyuk sarkarda va davlat arbobi Amir Temur tavallud topgan kun!
Buyuk sarkarda va davlat arbobi xotirasiga bag‘ishlab, sun’iy intellekt yordamida Amir Temur siymosini yangicha ko'rinishlarda generatsiya qildik.
Rasmlarni sifatli holatini izohdan yuklab olishingiz mumkin :)
#AmirTemur#AI
⚡️@fitratmediagroup
⚔️9-aprel – buyuk sarkarda va davlat arbobi Amir Temur tavallud topgan kun!
Buyuk sarkarda va davlat arbobi xotirasiga bag‘ishlab, sun’iy intellekt yordamida Amir Temur siymosini yangicha ko'rinishlarda generatsiya qildik.
Rasmlarni sifatli holatini izohdan yuklab olishingiz mumkin :)
#AmirTemur#AI
⚡️@fitratmediagroup • 📱Portfolio • 📱Idea
Prezident Shavkat Mirziyoyev Toshkent shahridagi Amir Temur xiyoboniga tashrif buyurib, mashhur davlat arbobi, yengilmas sarkarda, ilm-fan, madaniyat va sanʼat homiysi Sohibqiron Amir Temur haykali poyiga gulchambar qoʻydi.
—
Президент Шавкат Мирзиёев посетил сквер Амира Темура в Ташкенте и возложил венок к подножию памятника выдающемуся государственному деятелю, непобедимому полководцу, покровителю науки, культуры и искусства Сахибкирану Амиру Темуру.
#Mirziyoyev#marosim#AmirTemur#xotira
Prezident.uz|Facebook|Instagram|YouTube|X
Prezident Shavkat Mirziyoyev Toshkent shahridagi Amir Temur xiyoboniga tashrif buyurib, mashhur davlat arbobi, yengilmas sarkarda, ilm-fan, madaniyat va sanʼat homiysi Sohibqiron Amir Temur haykali poyiga gulchambar qoʻydi.
—
Президент Шавкат Мирзиёев посетил сквер Амира Темура в Ташкенте и возложил венок к подножию памятника выдающемуся государственному деятелю, непобедимому полководцу, покровителю науки, культуры и искусства Сахибкирану Амиру Темуру.
#Mirziyoyev#marosim#AmirTemur#xotira
Prezident.uz|Facebook|Instagram|YouTube|X
⚔️9-aprel – buyuk sarkarda va davlat arbobi Amir Temur tavallud topgan kun!
Buyuk sarkarda va davlat arbobi xotirasiga bag‘ishlab, sun’iy intellekt yordamida Amir Temur siymosini yangicha ko'rinishlarda generatsiya qildik.
Rasmlarni sifatli holatini @fitratmediagroup kanalidan yuklab olishingiz mumkin :)
#AmirTemur#AI#ByIsakovKhusniddin
@ikdesignuz
Prezident Shavkat Mirziyoyev Toshkent shahridagi Amir Temur xiyoboniga tashrif buyurib, mashhur davlat arbobi, yengilmas sarkarda, ilm-fan, madaniyat va sanʼat homiysi Sohibqiron Amir Temur haykali poyiga gulchambar qoʻydi.
—
Президент Шавкат Мирзиёев посетил сквер Амира Темура в Ташкенте и возложил венок к подножию памятника выдающемуся государственному деятелю, непобедимому полководцу, покровителю науки, культуры и искусства Сахибкирану Амиру Темуру.
#Mirziyoyev#marosim#AmirTemur#xotira
Prezident.uz|Facebook|Instagram|YouTube|X
Prezident Shavkat Mirziyoyev Toshkent shahridagi Amir Temur xiyoboniga tashrif buyurib, mashhur davlat arbobi, yengilmas sarkarda, ilm-fan, madaniyat va sanʼat homiysi Sohibqiron Amir Temur haykali poyiga gulchambar qoʻydi.
—
Президент Шавкат Мирзиёев посетил сквер Амира Темура в Ташкенте и возложил венок к подножию памятника выдающемуся государственному деятелю, непобедимому полководцу, покровителю науки, культуры и искусства Сахибкирану Амиру Темуру.
#Mirziyoyev#marosim#AmirTemur#xotira
Prezident.uz|Facebook|Instagram|YouTube|X