Можно ли в 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
Kompyuteringizni tezlashtirish uchun 5 ta oddiy layfxak!
#mohirlik
1. Diskni tozalash
Qanday qilish kerak?: Win+R ni bosib, "cleanmgr" deb yozing va "OK" tugmasini bosing. Bu Windowsning diskni tozalash vositasini ochadi, unda keraksiz fayllarni o'chirib, diskni tozalashingiz mumkin.
2. Avtomatik ishga tushishlarni o'chirish
Qanday qilish kerak?: Win+R ni bosib, "msconfig" deb yozing va "OK" tugmasini bosing. "Startup" (Ishga tushirish) tabida kerakmas dasturlarni o'chirib, tizimni tezlashtirish mumkin.
3. SSD foydalaning
Qanday qilish kerak?: SSD-ni tizimga o'rnatish uchun, Win+R ni bosib, "devmgmt.msc" deb yozing va "OK" tugmasini bosing. Bunda qurilma boshqaruvi ochiladi va yangi SSD qurilmasi qo'shiladi.
4. Vaqtinchalik fayllarni o'chirish
Qanday qilish kerak?: Win+R ni bosib, "%temp%" deb yozing va "OK" tugmasini bosing. Bu sizni vaqtinchalik fayllar joylashgan papkaga olib boradi, u yerdan barcha fayllarni o'chirishingiz mumkin.
5. RAMni kengaytirish
Qanday qilish kerak?: Win+R ni bosib, "sysdm.cpl" deb yozing va "OK" tugmasini bosing. "System Properties" oynasidan "Advanced" tabida, "Settings" tugmasini bosing va "Performance Options" bo'limida RAMni kengaytirish uchun sozlamalar qilishingiz mumkin.
🔧Bu oddiy qadamlar yordamida kompyuteringizning ishlash tezligini oshirishingiz mumkin!
@kompyuter_akademiyasi
Odatiy kontekst menyusini qaytarish
#mohirlik / @pcTeapot
ℹ️ Windows 11'da sichqonchaning o'ng tugmachasini bosish menyusi yanada minimalistik bo'lib qoldi, bu esa Windows 7, 10 ishlatganlar uchun uncha qulay emas. Agar bu sizni qoniqtirmasa, klassik kontekst menyusi osongina qaytarilishi mumkin. Buning uchun reestrga kichik o'zgartirishlar kiritish kerak.
✅ Buni "Командной строкa" yordamida qanday qilishni ko'rib chiqamiz. Uni ishga tushiring (Win+R ga cmd deb yozib, OK tanlanadi) va quyidagi buyruqni bajaring va kompyuteringizni qayta ishga tushiring:
reg.exe add "HKCU\Software\Classes\CLSID{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}\InprocServer32" /f /ve
🎯 Ushbu usul foyda bermagan bo'lsa mana bu dasturni ishlating.
💻 Kompyuterni birga o'rganamiz ⤵️
Telegram I YouTube I Insta I TikTok
Endi xaker bo'lamiz!
#mohirlik
ℹ️Quyidagi videoda ishlatilgan fayllar. Barchasini kodlarini quyiroqda yozib qoldiraman.
💻 Kompyuterni birga o'rganamiz ⤵️
Telegram I YouTube I Insta I TikTok
Kerakli dasturni doimo administrator nomidan ochiladigan qilish
#mohirlik / @pcTeapot
ℹ️ Ilovani Administrator nomidan ishga tushirish uchun siz yorliq yoki bajariladigan faylni sichqonchaning o'ng tugmasi bilan bosishingiz va bir xil nomdagi (запуск от имени администратора) elementni tanlashingiz kerak.
✅ Bundan tashqari, dasturni odatdagidek ishga tushirishingiz mumkin, shunchaki CTRL + SHIFT tugmalarini bosib ushlab turing. Shunda dastur admin nomidan ochiladi.
🔹Yorliq yoki faylning "Свойства" ini oching. "Совместимость" yorlig'iga o'ting. "Параметры" blokida "Запускать эту программу от имени администратора" katagiga belgi qo'ying. Ushbu usullar yordamida dasturdan to'liqligicha foydalanishga erishishingiz mumkin.
💻 Kompyuterni birga o'rganamiz ⤵️
TelegramIYouTubeIInstaITikTok
Windows 11 da foydalanuvchilarni o'chirish usullari
#mohirlik / @pcTeapot
ℹ️ Agar biron sababga ko'ra siz Windows-da hisob (profil) ni o'chirishingiz kerak bo'lsa, bu bir necha usul bilan amalga oshirilishi mumkin.
🔹 "Параметры" - "Учетные записи" - "Другие пользователи" bo'limiga o'ting va o'chirilishi kerak bo'lgan profilni tanlab "Удалить" tugmasini bosing.
🔸 Konsolni administrator sifatida oching va net user Username /delete buyrug'ini bajaring. C:\Users\Username jildini qo'lda o'chirish kerak bo'ladi.
🔹Win+R tugmalarini bosing va netplwiz ni bajaring. Profilni tanlang va "Удалить" tugmasini bosing.
🔸Win+R tugmalarini bosing va lusrmgr.msc ni ishga tushiring. "Пользователи" ni tanlang, so'ngra hisobni tanlang, ustiga sichqonchaning o'ng tugmachasini bosing va "Удалить" ni tanlang.
💻 Kompyuterni birga o'rganamiz ⤵️
TelegramIYouTubeIInstaITikTok
Windows 11ni tezlatish yo‘li topildi!
#mohirlik / ict.xabar.uz
ℹ️ Ijtimoiy tarmoqlar foydalanuvchilari Windows 11 da o‘rnatilgan fayllar menejeri (“provodnik”)ni tezlatish yo‘lini topishdi. Bu haqda HotHardware nashri xabar berdi.
Windows 11 ning faol versiyasidan foydalanuvchilar fayllar menejeri (“provodnik”) juda sekin ishlashidan ko‘p shikoyat qilishadi. Ularga buning yechimini X (sobiq Twitter) ijtimoiy tarmog‘ida VivyVCCS niki ostidagi foydalanuvchi topib berdi, deb yozdi nashr.
O‘sha mutaxassis (foydalanuvchi)ning aytishicha, navigatsiyalar panelidagi yangilanishlar fayllar menejerining tormozlanishiga sabab bo‘lishi mumkin, chunki “provodnik” har bir papkani ochish jarayonida navigatsiyalar paneli bilan bog‘lanadi.
❔Xo‘sh, tezlatuvchi o‘sha sehrli tugma qaysi?
VivyVCCS tushuntirishicha, navigatsiyalar panelini o‘chirib qo‘yish kerak, buning uchun F11 tizim tugmasi ikki marta bosilib, to‘liq ekranli rejimga kirish va qaytib chiqish kifoya. Sinab ko‘ramiz. Natijasini izohlarda yozamiz 😉
💻 Kompyuterni birga o'rganamiz ⤵️
TelegramIInstagramITikTokIYouTube