Можно ли в 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
4K vs 8K
4K — 4000 piksel gorizontal o'lchamlari bilan ultra yuqori aniqlikdagi (Ultra HD) tasvir formati. 8K uchun gorizontal piksellar soni 8000 pikselni tashkil qiladi.
Izoh: Piksellar - televizor tasvirini tashkil etuvchi nuqtalardir. K - 1000 ga yaqin degan ma'noni anglatadi. Qanchalik ko'p piksel bo'lsa, tasvir shunchalik aniqroq bo'ladi.
👉Bizning barcha loyihalar | #atama
40 ta xorijiy atamaning o‘zbekcha muqobili tasdiqlanibdi
#atama
Xushnudbek akani kanalida xabar berilishicha "Vazirlar Mahkamasi huzuridagi Atamalar komissiyasi majlisining 2025-yil 30-iyuldagi 62-son bayoniga binoan oʻzbek tili qoida va meʼyorlari asosida shakllantirilgan hamda rasmiy muomalaga kiritiladigan yangi soʻz va atamalar roʻyxati tasdiqlanibdi".
📄Shu ro'yxatdan o'zimizni sohaga tegishlilarni ajratib chiqdim:
Конфиденциал - maxfiy
Коворкинг - ish markazi
Линк - havola
Мастер класс - mahorat darsi
Мотивация - ruhlantirish, rag'bat
Навигатор - yo'llagich
Парол - o'ron
Портфолио - yig'majild
Смарт - aqlli
Челленж - chorlov
IT парк - AT parki
IT технологиялари - Axborot texnologiyalari (AT)
😎 Bularni ichida meni juda hayron qoldiradigan bir nechtalari bor ekan, ular ishtirokida gap tuzishga harakat qilib ko'rdim (ko'ramiz ularni topa olasizmi :)
Seni "AT park tomonidan o'tkazilayotgan chorlovda ishtirok etayapti" - deb eshitdim. Mana shu loyiha orqali tayyorlagan aqlli ishlaring jamlagan yig'majildga kiraman desam sen bergan o'ronni noto'g'ri deyapti. Shunga yig'majildingga kirish bo'yicha mahorat darsingni havolasini so'rab ruhlantirishsiz xabar yozayotgandim 😔. O'ylaymanki meni to'g'ri tushunding )
@kompyuter_akademiyasi
VR, AR va MR nima haqida gaplashamiz.
1️⃣ VR (Virtual Haqiqat), VR pleyerlari ko'rgan va his qiladigan haqiqiy uch o'lchovli dunyo, aslida barchasi virtual va kompyuterlar tomonidan yaratilgan bo'ladi.
2️⃣ AR (kengaytirilgan haqiqat), AR dunyosi qisman haqiqiy va qisman virtualdir. Boshqacha qilib aytganda, haqiqatdan ham dunyoning raqamli axborot tashuvchisi.
3️⃣ MR (Mixed Reality) - bu foydalanuvchining realizmini kuchaytirish uchun VR va ARning yanada rivojlangan versiyasi. Quyidagicha tasavvur qilish mumkin: MR = VR + AR
▶️Birinchi raqamli windows blog | @ITMastersUz | #atama
VR, AR va MR nima haqida gaplashamiz.
1️⃣ VR (Virtual Haqiqat), VR pleyerlari ko'rgan va his qiladigan haqiqiy uch o'lchovli dunyo, aslida barchasi virtual va kompyuterlar tomonidan yaratilgan bo'ladi.
2️⃣ AR (kengaytirilgan haqiqat), AR dunyosi qisman haqiqiy va qisman virtualdir. Boshqacha qilib aytganda, haqiqatdan ham dunyoning raqamli axborot tashuvchisi.
3️⃣ MR (Mixed Reality) - bu foydalanuvchining realizmini kuchaytirish uchun VR va ARning yanada rivojlangan versiyasi. Quyidagicha tasavvur qilish mumkin: MR = VR + AR
▶️Birinchi raqamli windows blog | @ITMastersUz | #atama
Touchpad nima?
#atama
ℹ️Touchpad - asosan noutbuk va netbuklarda sichqoncha vazifasini bajarish uchun ishlab chiqilgan joyi.
✅ U sensorli oyna va 2 tugmadan iborat. Sensorli oyna sichqonachani harakatlantirishini eslatsa, chap va o'ng tugmalari sichqonchadagi tugmalarga mos ravishda vazifani bajaradi.
😎V.M.: Shaxsan oʻzim yengil ishlar sababli noutbukdan foydalansam touchpadni ishlataman, qolgan paytlar 🐁 qulay.
🤨Siz touchpadni ishlatasizmi?
💻 Kompyuterni birga o'rganamiz ⤵️
💬Telegram I📺YouTube I📱Insta I📹TikTok
VR, AR va MR nima haqida gaplashamiz.
1️⃣ VR (Virtual Haqiqat), VR pleyerlari ko'rgan va his qiladigan haqiqiy uch o'lchovli dunyo, aslida barchasi virtual va kompyuterlar tomonidan yaratilgan bo'ladi.
2️⃣ AR (kengaytirilgan haqiqat), AR dunyosi qisman haqiqiy va qisman virtualdir. Boshqacha qilib aytganda, haqiqatdan ham dunyoning raqamli axborot tashuvchisi.
3️⃣ MR (Mixed Reality) - bu foydalanuvchining realizmini kuchaytirish uchun VR va ARning yanada rivojlangan versiyasi. Quyidagicha tasavvur qilish mumkin: MR = VR + AR
@BigMasterUz_bot – universal ustoz!
👉🏼Birinchi raqamli windows blog | @ITMastersUz | #atama
WPAD protokolini qanday va nima uchun o'chirish mumkin?
ℹ️Web Proksi-ni avtomatik aniqlash protokoli (WPAD) avtomatik proksi-serverni sozlash qoidalari to'plamidir. PAC konfiguratsiya faylining URL manzilini aniqlash va keyin mijozga proksi-serverlar ro'yxatini uzatuvchi FindProxyForURL funksiyasini chaqirish uchun brauzerlar tomonidan foydalaniladi.
📌WPAD zaifligi brauzer so'rovlarini ushlash va boshqariladigan proksi-serverlar orqali soxta PAC fayliga yoki soxta saytlarga yo'naltirishga imkon beradi. To'g'ri, bunday ushlash faqat ochiq Wi-Fi tarmog'ida mumkin, shuning uchun WPADni o'chirib qo'yish birinchi navbatda umumiy tarmoqlardan foydalanganda mantiqan to'g'ri keladi.
▶️WIN +R tugmalarini bosing va ncpa.cpl. Adapteringizning xususiyatlarini oching. IP-versiya 4 (TCP/IPv4) ni belgilang va Xususiyatlar tugmasini bosing. Keyin Advanced-ni bosing.
WINS yorlig'ini bosing va TCP/IP orqali NetBIOSni o'chirish radio tugmasini tekshiring.
👉🏼Birinchi raqamli Windows Blog | #atama / #foydali
Rasmlar jamlanmasi tayyorlash
#manba / #atama
ℹ️Collage (Коллаж) - bir nechta rasmlarni o'zida jamlagan rasm. Bunday turdagi media mahsulotidan asosan bir nechta rasmlarni bitta rasm holatiga keltirishdan foydalaniladi (yuqoridagi rasm). Collage'ni telefon, kompyuter dasturlari yordamida va hattoki Word, PowerPoint dasturlari bilan ham tayyorlash mumkin.
😎Lekin men uchun onlayn saytlar yordamida tayyorlash qulay va tezkor, shunday yaxshi saytlarni quyida keltiramiz:
• https://www.photocollage.com/
• https://pixlr.com/photo-collage/
• https://www.befunky.com/create/collage/
• https://www.photojoiner.com/editor/collage-editor
• https://www.fotor.com/features/collage
• https://www.fotor.com/design/project/b574b43a-279d-472e-a2a3-1c4c086bff4e/collage
💻 Kompyuterni birga o'rganamiz ⤵️
💬Telegram I📺YouTube I📱Insta I📹TikTok