Можно ли в 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
#MeningPrezidentim
“Ko‘ksaroy” qarorgohida Prezident Shavkat Mirziyoyevning yoshlar bilan muloqoti boshlandi. Qoraqalpog‘iston, viloyatlar va Toshkent shahridagi studiyalardan uchrashuvda 60 mingdan ziyod yoshlar vakillari ishtirok etmoqda.
Davlatimiz rahbari yig‘ilganlarni samimiy qutladi.
“Yurtimizdagi 22 milliondan ziyod yoshlarimiz timsolida biz juda katta iqtisodiy, ijtimoiy va siyosiy kuchni
ko‘ramiz
”,
– dedi Prezidentimiz.
Har bir vazir, hokim, oliygoh rektori, texnikum, maktab direktori va boshqa mas’ullar hududidagi yoshlarni til va kasb-hunar o‘rganishi, sport bilan shug‘ullanishi, g‘oya, loyiha va startapiga ko‘mak berib, ularni o‘stirishi, ishli va daromadli qilib, birorta yoshni e’tiborsiz qoldirmaslikka yanada katta mas’uliyat bilan yondashib ishlashi lozimligi qayd etildi.
⚡️Sanepidqo'mita Axborot xizmati
📱Telegram|📱Instagram|📱Facebook|📱YouTube|📱Veb-sayt | 🌐Emlash veb-sayt
#MeningPrezidentim
Yoshlar uchun 7 yilgacha imtiyozli kreditlar
✔️Joriy yildan “Kelajak tadbirkori” dasturi boshlanib, yoshlarga 7 yilgacha 15 foizli kreditlar ajratiladi.
💰 Kreditlar: o‘zini o‘zi band qilganlarga 20 mln so‘mgacha (garovsiz), yangi boshlovchilarga 300 mln so‘mgacha, faoliyatini kengaytirayotganlarga 2 mlrd so‘mgacha, kamida 5 nafar bitiruvchini ishga olganlarga 10 mlrd so‘mgacha beriladi.
✔️Shuningdek, “Mening birinchi kasbim” dasturi doirasida bitiruvchilar stajirovka asosida tanlab olinib, ularga oyiga 2 mln so‘mgacha stipendiya to‘lanadi.
✔️Yoshlarning 30 foizi biznes ko‘nikmasi yetishmagani sababli qiynalayotgani bois, hududlarda “Yoshlar biznes inkubatori”lar tashkil etilib, ularda o‘qitish va kompleks xizmatlar yo‘lga qo‘yiladi.
📍Markazlar avval Qoraqalpog‘iston, Jizzax, Namangan, Surxondaryo, Xorazm hamda Toshkentda, keyinchalik barcha hududlarda yo‘lga qo‘yiladi.
Sayt | Telegram| Facebook | Instagram| Youtube| X
#MeningPrezidentim
✔️Yaratilgan keng imkoniyatlar natijasida yangilikka intiluvchan yoshlarimiz yaratgan 63 ta startap loyihasiAQSh, Janubiy Koreya, Buyuk Britaniya va Birlashgan Arab Amirliklari kabi davlatlar bozoriga kirib bordi.
✔️Bugun yosh tadbirkorlar yurtimizdagi biznes vakillarining 35 foizini tashkil etmoqda.
“Albatta, yangi metodika va innovatsiya olib kirib, ta’lim sifatini oshirish va bolalarni kasbining ustasi qilish haqida izlanadigan rahbarning faoliyatida o‘zgarish bo‘ladi, ishiga yangicha muhit kiradi”,
– dedi davlatimiz rahbari.
✔️Dunyoda kun sayin yoshlar ongini egallash bo‘yicha yangi tahdidlar yuzaga kelayotgan sharoitda barcha darajadagi rahbarlar yoshlar bilan ishlash bo‘yicha yangi ish tizimiga o‘tishi zarurligi qayd etildi.
Sayt | Telegram| Facebook | Instagram| Youtube| X
#MeningPrezidentim
Yoshlar uchun 7 yilgacha imtiyozli kreditlar
✔️Joriy yildan “Kelajak tadbirkori” dasturi boshlanib, yoshlarga 7 yilgacha 15 foizli kreditlar ajratiladi.
💰 Kreditlar: o‘zini o‘zi band qilganlarga 20 mln so‘mgacha (garovsiz), yangi boshlovchilarga 300 mln so‘mgacha, faoliyatini kengaytirayotganlarga 2 mlrd so‘mgacha, kamida 5 nafar bitiruvchini ishga olganlarga 10 mlrd so‘mgacha beriladi.
✔️Shuningdek, “Mening birinchi kasbim” dasturi doirasida bitiruvchilar stajirovka asosida tanlab olinib, ularga oyiga 2 mln so‘mgacha stipendiya to‘lanadi.
✔️Yoshlarning 30 foizi biznes ko‘nikmasi yetishmagani sababli qiynalayotgani bois, hududlarda “Yoshlar biznes inkubatori”lar tashkil etilib, ularda o‘qitish va kompleks xizmatlar yo‘lga qo‘yiladi.
📍Markazlar avval Qoraqalpog‘iston, Jizzax, Namangan, Surxondaryo, Xorazm hamda Toshkentda, keyinchalik barcha hududlarda yo‘lga qo‘yiladi.
Sayt | Telegram| Facebook | Instagram| Youtube| X
#MeningPrezidentim
✔️Yaratilgan keng imkoniyatlar natijasida yangilikka intiluvchan yoshlarimiz yaratgan 63 ta startap loyihasiAQSh, Janubiy Koreya, Buyuk Britaniya va Birlashgan Arab Amirliklari kabi davlatlar bozoriga kirib bordi.
✔️Bugun yosh tadbirkorlar yurtimizdagi biznes vakillarining 35 foizini tashkil etmoqda.
“Albatta, yangi metodika va innovatsiya olib kirib, ta’lim sifatini oshirish va bolalarni kasbining ustasi qilish haqida izlanadigan rahbarning faoliyatida o‘zgarish bo‘ladi, ishiga yangicha muhit kiradi”,
– dedi davlatimiz rahbari.
✔️Dunyoda kun sayin yoshlar ongini egallash bo‘yicha yangi tahdidlar yuzaga kelayotgan sharoitda barcha darajadagi rahbarlar yoshlar bilan ishlash bo‘yicha yangi ish tizimiga o‘tishi zarurligi qayd etildi.
Sayt | Telegram| Facebook | Instagram| Youtube| X
Hurmatli Janob Prezident!
Tavallud ayyomingiz bilan chin qalbimdan tabriklayman!
Yurtimiz, xalqimiz va biz-yoshlar baxtiga Sizga mustahkam sog'lik, uzoq, mazmunli, barakali va quvonchga to’la umr tilayman.
Siz O'zbekiston yoshlarini jasoratli g'alabalar, tarixiy natijalar va ulkan ishlarga ruhlantirasiz.
Barcha boshlagan ishlaringizda Yaratgan Sizga madadkor bo’lsin!
#meningPrezidentim
Xalq bor - Otang bor
Quyoshday mehribon
Vataning-onang,
Zaminday vazminu
Mehnatkash, mushfiq
Istagan narsangni tayyorlaguvchi
Xalq bor - Otang bor.
👁 YouTube orqali ko‘rish
#MeningPrezidentim
Telegram sahifamiz👉@yoshlaragentligi
Yangi O‘zbekiston bunyodkori — mamlakat 8 yilda
Bugun O‘zbekiston Respublikasi Prezidenti Shavkat Mirziyoyev 68 yoshni qarshiladi.
Tug‘ilgan kuningiz muborak, muhtaram Prezident!
#MeningPrezidentim
Telegram | Х
Facebook | Instagram
Mamlakatimizda har haftaning payshanba kuni vazirlik, idora va hokimliklarda “Yoshlar kuni” bo‘lishi belgilandi.
Shu kuni sohaga mas’ul rahbarlar mahalla, maktab va texnikumlarga borib, yoshlarni eshitadi va muammosini hal qiladi.
Hokimlar yoshlarbop savdo-servis loyihalarini qiladi, yoshlarning ta’lim olishi, sport bilan shug‘ullanishi, kasb va til o‘rganib, ishga kirishi yoki tadbirkorlik bilan shug‘ullanishiga ko‘maklashadi, startapchilar bilan uchrashuvlar o‘tkazib, alohida mablag‘ va grantlar ajratadi.
Eng yaxshi tomorqachi, fermer, sanoatchi, startapchi, ijodkor, ma’naviyat va boshqa sohalardagi yoshlar uchun qiziqarli mavzularda tanlovlar va yarmarkalar o‘tkaziladi.
#MeningPrezidentim#YoshlarPrezidenti
“Ko‘ksaroy” qarorgohida Prezident Shavkat Mirziyoyevning yoshlar bilan muloqoti boshlandi. Qoraqalpog‘iston, viloyatlar va Toshkent shahridagi studiyalardan uchrashuvda 60 mingdan ziyod yoshlar vakillari ishtirok etmoqda.
Davlatimiz rahbari yig‘ilganlarni samimiy qutladi.
“Yurtimizdagi 22 milliondan ziyod yoshlarimiz timsolida biz juda katta iqtisodiy, ijtimoiy va siyosiy kuchni ko‘ramiz”,
– dedi Prezidentimiz.
Har bir vazir, hokim, oliygoh rektori, texnikum, maktab direktori va boshqa mas’ullar hududidagi yoshlarni til va kasb-hunar o‘rganishi, sport bilan shug‘ullanishi, g‘oya, loyiha va startapiga ko‘mak berib, ularni o‘stirishi, ishli va daromadli qilib, birorta yoshni e’tiborsiz qoldirmaslikka yanada katta mas’uliyat bilan yondashib ishlashi lozimligi qayd etildi.
#MeningPrezidentim#YoshlarPrezidenti
⚡️Bugun yoshlar uchun yana bir tarixiy kun bo‘ladi
🇺🇿 Birozdan so‘ng Ko‘ksaroy qarorgohida Prezident Shavkat Mirziyoyevning yoshlar bilan ularning tashabbuslarini qo‘llab-quvvatlash bo‘yicha qo‘shimcha imkoniyatlarga bag‘ishlangan muloqoti boshlanadi.
#MeningPrezidentim#YoshlarPrezidenti
Faсebook|
✅Instagram
✅Youtube |
✅Murojaat yo'llas
#MeningPrezidentim#YoshlarPrezidenti
Juda katta iqtisodiy, ijtimoiy va siyosiy kuch bo‘lgan yoshlarimiz uchun yangi imkoniyat eshiklari ochib berilgan kun
—
День, когда перед нашей молодежью, являющейся экономической, социальной и политической силой, распахнулись новые двери возможностей.
Bizni kuzating
Facebook | Instagram |YouTube|Telegram