Можно ли в 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
#mandat#akademik_litsey
⚡️Akademik litseylarga kirish test natijalari tayyor
2025/2026-oʻquv yili uchun respublika oliy taʼlim muassasalari tasarrufidagi akademik litseylarga kirish imtihonlarining YAKUNIY NATIJALARI (mandat) eʼlon qilindi.
Yakuniy natijalarni vazirlikning my.edu.uz rasmiy veb-saytidan “Shaxsiy kabinet”ga kirish orqali bilish mumkin.
Eslatma: Oʻquvchi to‘plagan bali asosida ustuvorlik bo‘yicha tanlagan akademik litseyga o‘qishga qabul qilinadi.
Ustuvorlik bo‘yicha batafsil sharh: 👉https://t.me/eduuz/23710
Maʼlumot uchun, belgilangan tartibga muvofiq, kirish test sinovi natijasidan norozi bо‘lgan o‘quvchilar yakuniy natijalar e’lon qilingan kundan boshlab uch ish kuni ichida my.edu.uz orqali elektron shaklda (shaxsiy kabinetidan) apellyatsiya shikoyatini berish huquqiga ega.
Bizni kuzating
Facebook | Instagram |Telegram
#tezkor
#mandat
Bugun soat 20:00 da Ayrim yoʻnalishlarning Mandat natijalari e'lon qilinadi!
Kirish imtihonlari uchun test sinovlariga qatnashgan barcha abituriyentlar "Talabalikka tavsiya etilgan yoki etilmaganligini" bilib olishi mumkin.
Qanday qilib hali hamma imtihon topshirmasdan oldin natijalar eʼlon qilinadi deysizmi?
Biz ham hamma natijalar eʼlon qilinadi demayammiz
Masalan: Oʻzbekiston Milliy universiteti (Biologiya (rus)) yoʻnalishiga hujjat topshirgan abiturientlarning hammasi imtihonga kirib chiqqan va mandat tayyor!
Bizdan uzoqlashmang!👇👇
@mandat_natijalari_2022_uz
Hammaga ayting talabaligingizni, hamma bilsin uje! 😎
Hoziroq @bizdanism_bot👈ga kirib ismingizni buyurtma qiling va ismingiz tushurilgan 3 xil yozuvdagi dizaynlarga ega bo'ling.
👨🎓👩🎓Ushbu dizaynlar orqali kayifiyatingizni do'stlaringizga ulashing.
#bizdanismbot#mandat
⚡️@ikdesignuz
Hammaga ayting talabaligingizni, hamma bilsin uje! 😎
Hoziroq @bizdanism_bot👈ga kirib ismingizni buyurtma qiling va ismingiz tushurilgan 3 xil yozuvdagi dizaynlarga ega bo'ling.
👨🎓👩🎓Ushbu dizaynlar orqali kayifiyatingizni do'stlaringizga ulashing.
#bizdanismbot#mandat
@isakovxusniddin
#mandat#magistratura#qabul2025
⚡️Magistratura qabul natijalari e’lon qilinmoqda
2025/2026-o‘quv yili uchun davlat oliy ta’lim tashkilotlarining magistratura mutaxassisliklariga qabul bo‘yicha my.edu.uz elektron tizimi orqali onlayn ro‘yxatdan o‘tgan fuqarolarning arizalari to‘liq ko‘rib chiqildi.
Talabgorlar natijalarni my.edu.uz elektron tizimi orqali shaxsiy kabinetidan bilishlari mumkin.
☑O’zbekiston Milliy universiteti
#tezkor
#bugun
#mandat
Assalomu aleykum hurmatli abituriyentlar hozirgi holatga qaraganda bazaviy maʼlumotlarning 87% i tayyor va yana 13% abituriyentlarning javoblari tayyor boʻlishi bilan bugun soat 22:00 da Abituriyentlarni "Talabalikka tavsiya etilgan yoki etilmaganligini eʼlon qilinadi"
Bizni kuzatib boring birinchilardan boʻlib "MANDAT" natijalarni my.dtm.uz saytida va @mandat_natijalari_2022_uz telegram kanalida eʼlon qilinadi!
Barcha abituriyentlarga joʻnatamiz!
@mandat_natijalari_2022_uz
🥴Mandat chiqqandan keyin ayrim abituriyentlarning uyidagi vaziyat
👀Sizda vaziyat qanday bo‘lishini taxmin qilyapsiz?
❗️Mandatni kutayotganlarga yuboring!
#Qabul2024#Abituriyent2024#abituriyent#tanlov2024#Mandat
@BahoIashUz✅️- Rasmiy taʼlim yangiliklari!
❓Mandat qachon chiqadi?
Aniq javob 👇
Abituriyentlarning talabalikka tavsiya etilgan yoki etilmagani to‘g‘risidagi yakuniy tanlov natijalari ta’lim yo‘nalishlarini tanlash to‘liq yakunlangandan so‘ng yani 10-avgust dan keyinbir hafta ichida e’lon qilinadi.
Demak, mandat 17-avgustgacha e’lon qilinishi kerak.
Asos:
Vazirlar Mahkamasining 2017-yil 20-iyundagi 393-son qarori bilan tasdiqlangan “Oliy ta’lim muassasalari talabalari o‘qishini ko‘chirish, qayta tiklash va o‘qishdan chetlashtirish tartibi to‘g‘risida”gi nizom.
❗️Mandatni kutayotganlarga yuboring!
#Qabul2024#Abituriyent2024#abituriyent#tanlov2024#Mandat
@BahoIashUz✅️- Rasmiy taʼlim yangiliklari!
🎓Yurisprudensiyata'lim yo'nalishi qaysi oliygohlarda bor va oʻtish ballari qanday?
📉 Avval o'tgan yilgi o'tish ballari bilan tanishib tahlil qiling. Buning uchun maxsus telegram-bot @DTMSTAT_BOT dan foydalaning.
Yurisprudensiya (faoliyat turlari bo‘yicha) ta'lim yo'nalishi, o'zbek tili bo'yicha 8 ta oliygohda mavjud.
1. Toshkent davlat yuridik universiteti
— Sirtqi: 157.60
2. Jamoat xavfsizligi universiteti
— Kunduzgi: 153.00
— Kechki:
— Sirtqi
3. Buxoro davlat universiteti
— Kunduzgi: 181.50 | 157.40
— Kechki: 151.20
— Sirtqi: 146:80
4. Farg'ona davlat universiteti
— Kunduzgi: 182.50 | 158.70
— Kechki:
— Sirtqi: 150.00
5. Namangan davlat universitetida
— Kunduzgi: 182.40 | 162.50
6. Qoraqalpoq davlat universiteti
— Kunduzgi: 177.10 | 152.30
— Kechki: 143.20
— Masofaviy: 144.90
— Sirtqi: 146:90
7. Termiz davlat universiteti
— Kunduzgi: 181.30 | 158.50
— Sirtqi: 146.60
8. Urganch davlat universiteti
— Kunduzgi: 179.30 | 160.30
✅ Siz ham O'zbekistondagi istalgan ta'lim yo'nalishlari uchun 2023-2024-o'quv yilidagi o'tish ballarini@DTMSTAT_BOT orqali bilishingiz mumkin!
❗️Mandatni kutayotganlarga yuboring!
#Qabul2024#Abituriyent2024#abituriyent#tanlov2024#Mandat
@BahoIashUz✅️- Rasmiy taʼlim yangiliklari!
❓Mandat qachon chiqadi?
Aniq javob 👇
Abituriyentlarning talabalikka tavsiya etilgan yoki etilmagani to‘g‘risidagi yakuniy tanlov natijalari ta’lim yo‘nalishlarini tanlash to‘liq yakunlangandan so‘ng yani 10-avgust dan keyinbir hafta ichida e’lon qilinadi.
Demak, mandat 17-avgustgacha e’lon qilinishi kerak.
Asos:
Vazirlar Mahkamasining 2017-yil 20-iyundagi 393-son qarori bilan tasdiqlangan “Oliy ta’lim muassasalari talabalari o‘qishini ko‘chirish, qayta tiklash va o‘qishdan chetlashtirish tartibi to‘g‘risida”gi nizom.
❗️Mandatni kutayotganlarga yuboring!
#Qabul2024#Abituriyent2024#abituriyent#tanlov2024#Mandat
@BahoIashUz✅️- Rasmiy taʼlim yangiliklari!