Можно ли в 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
#ustoz
“Ustoz — otangdan ulug‘”. Bu ustozlarga nisbatan aytilgan tashbehdir. Ustozi yo‘qning ustozi shaytondir. Jamiyatda bo‘layotgan voqealar uydagi tarbiyaning oyinasi.
“Ustoz” loyihasining navbatdagi mehmoni O'zbekiston milliy media birlashmasi Boshqaruv raisi hamda O‘zbekiston jurnalistika va ommaviy kommunikatsiyalar universiteti rektori, professor Sherzodxon Qudratxo‘ja bo‘ldi.
@SherzodxonQudratxoja
ФерузаАнгренХДП, [26 сен. 2025 в 10:58]
#Ustoz va murabbiylar kuni#
Oliy Majlis Qonunchilik Palatasi deputati Q.Kasimova, O'zbekiston XDP Ohangaron shahar kengashi raisi G.Kasimova bilan birga "Xonobod" MFYda istiqomat qiluvchi uzoq yillar davomida Ohangaron shahar 2-umumiy o'rta ta'lim maktabida faoliyat yuritib, hozirgi kunda nafaqadagi partiya faoli Sobira opa Botirova xolidan xabar olinib, 1 oktyabr - Ustoz va murabbiylar kuni munosabati bilan Oliy Majlis Qonunchilik Palatasi deputati Q.Kasimova tomonidan esdalik sovg'alari taqdim etildi.
🇺🇿
🇺🇿
🇺🇿 Aziz ustozlar!
Sizlarni bugungi ajoyib bayram bilan samimiy tabriklayman!
Hech shubhasiz, har bir inson o‘z hayotida munosib o‘rnini egallashida, erishgan har bir muvaffaqiyatida Siz, ustoz va murabbiylarning hissangiz beqiyosdir.
Ayniqsa bugungi kunda, Yangi O‘zbekiston taraqqiyoti uchun amalga oshirilayotgan barcha jarayonlarda Sizlarning bolalarimizga berayotgan ta’lim va tarbiyangiz ahamiyatini yuksak baholaymiz.
Shu sababli davlatimiz tomonidan Sizlarning mehnatingizni qadrlash, o‘z faoliyatingizni samarali amalga oshirishingiz uchun barcha choralar ko‘rilmoqda. Yaqin kelajakda, ular albatta, o‘z natijasini berishiga ishonamiz.
Azizlar! Barchangizga uzoq umr, baxt-saodat, xonadoningizga fayzu-baraka, ezgu ishlaringizga ulkan zafarlar tilayman!
#ustoz
@tanzilanarbaeva
#Ustoz
Ustozga hurmatsizlik, ta’limga bo’lgan e’tiborsizlik halokatga olib keladi.
"Ustoz" loyihasi mehmoni — O‘zbekistonda xizmat ko‘rsatgan artist Matyoqub Matchonov
https://t.me/otabek_khasanov
Seshanba kunigacha Mo'hsen Nomju tarjimayi holi haqida ma'lumotlar beriladi.
Seshanba esa uning eng sara qo'shiqlaridan biri tarjima qilib beriladi.
Sizda ajoyib imkoniyat, Mo'hsen aka Nomjuyevning qo'shiqlarini google orqali izlab ko'ring va o'zingizga yoqqanini@Forstili_amaliy guruhiga #ustoz boshlanmasi (heshtegi) bilan qo'ying.
Tavsiya qilingan qo'shiqlardan biri tarjima uchun tanlanadi.
@Forstili_Mominzoda bilan bo'ling!
#vacancy /#grafikdizayn /#ustoz
Grafik dizayn bo'yicha ustoz (mentor) kerak.
💰Maosh: Suhbat asosida kelishiladi.
Batafsil: https://www.redfox.uz/vacancy/mentor-kerak
Ustozga hurmatsizlik, bevosita otaga, onaga hurmatsizlik bo‘ladi va buni tuzatish juda ham qiyin
“Ustoz” loyihasining navbatdagi mehmoni “Jahon adabiyoti” jurnali bosh muharriri Ahmadjon Meliboyev.
___
Неуважение к наставнику – это неуважение к отцу и матери, и исправить это очень сложно.
Очередной гость проекта «Устоз» – главный редактор журнала «Всемирная литература» Ахмаджон Мелибоев.
#ustoz#baham_ko‘rish#xudbinlik#tasavvur
☺️ Bolalar uchun darsdan keyingi dam olish, aqliy va jismoniy faollik uyg‘unligida boʻldi!
Zuxriddin ustoz bolalarni ikki jamoaga bo‘lib, ijodiy fikrlash va jamoaviy hamkorlikni oshiradigan o‘yin tashkil qildi. Har bir o‘yinchi o‘z navbatida idishchalarni belgilangan shaklga keltirib, keyingisiga joy hozirlab berdi.
🏆 Tezlik, aniqlik va birdamlik — g‘alabaning kaliti!
📈 O‘yin davomida nafaqat kulgi va harakat, balki hamkorlik, navbat kutish va strategik fikrlash kabi ko‘nikmalar rivojlandi.
#TeachForUzbekistan#bolalarfaoliyati#maktab#ustoz
Telegram |Linkedln| Instagram |Youtube
“Ustoz – komillikka eltuvchi nur!”
“Ustoz” loyihasining navbatdagi mehmoni Alisher Navoiy nomidagi Toshkent davlat oʻzbek tili va adabiyoti universiteti rektori, OʻzFA akademigi Shuhrat Sirojiddinov.
__
«Наставник– это свет, направляющий нас к совершенству!»
Очередной гость проекта «Устоз» – Шухрат Сироджиддинов, ректор Ташкентского государственного университета узбекского языка и литературы имени Алишера Навои, академик АН РУз.
#ustoz#qadam#menustozman#mulohaza
🎯“Kim chaqqon?” – matematika darsida raqobat va rivojlanish!
Matematika fani oʻqituvchisi, Hakimjon ustoz o‘quvchilarini qiziqarli oʻyin orqali o‘ylashga, tezkorlikka va e’tiborga o‘rgatmoqda.
🧮 O‘yin davomida kim misol javobini birinchi topib, do‘skadagi sonni ko‘rsatsa – ball oladi! ✋
Bu usul bolalarning aqliy faolligini, raqobat ruhini va hisoblash malakasini oshiradi. 📈
📹 Qashqadaryodagi darsdan jonli lavha!
#maktab#ustoz#TeachforUzbekistan#matematika#interaktivdars