TGTGInsighttelegram intelligenceLIVE / telegram public index
← Python Заметки

TGINSIGHT SIMILAR POSTS

Најди сличен содржај

Изворен канал @pythonotes · Post #241 · 5 мај

Можно ли в 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

Hashtags

Резултати

Пронајдени 10 слични објави

Пребарај: #yoshlaragentligi

当前筛选 #yoshlaragentligi清除筛选
Jizzax volontyorlar maktabi ️

@Volontyorlar_maktabi_Jizzax · Post #1450 · 28.02.2026 г., 20:09

#UVA #Yoshlaragentligi 📣 Jizzax viloyati volontyorlari diqqatiga!!! Yaqin kunlarda viloyatimizning eng faol va fidoyi volontyorlari bilan uchrashuv o‘tkazish rejalashtirilmoqda. Uchrashuv davomida quyidagi masalalar muhokama qilinadi: 🆕 Volontyorlik sohasidagi yangiliklar 🏛 Prezidentimiz tomonidan volontyorlik faoliyatini qo‘llab-quvvatlash bo‘yicha olib borilayotgan ishlar 🌍 Xalqaro maydondagi volontyorlik imkoniyatlari 📊 Respublikamiz miqyosida amalga oshirilayotgan loyihalar 🏕 Faol volontyorlar uchun o‘quv oromgohlari va rag‘batlantirish dasturlari haqida 🏅 Viloyat va respublika darajasidagi e’tirof hamda mukofotlash tizimi 🌐 Volontyorlik loyihangiz qo‘llab-quvvatlanishi Unda bu uchrashuv aynan siz uchun!💙 🔥O‘zingizni yoki eng faol volontyor do‘stingizni taklif qiling! Birgalikda yanada katta marralarni zabt etamiz! 📌 Qo‘shimcha ma’lumotlar tez orada e’lon qilinadi. 🔥 Reaksiya va izohlarda fikringizni qoldirish esingizdan chiqmasin!

Ali Ahmad

@AlisherAhmatovich · Post #595 · 19.05.2022 г., 12:41

⚡️"Markaziy Osiyo Yoshlar Forumi" ochilish marosimi bo'lib o'tdi 📨 Avval xabar berganimizdek, Markaziy Osiyo mamlakatlari yoshlari o‘rtasidagi ishonch va do‘stlik aloqalarini yanada mustahkamlash maqsadida Toshkent viloyatida joylashgan "Astrum" akademiyasida "Markaziy Osiyo Yoshlar forumi" davom etmoqda. Forumda ishtirokchilar tomonidan ijtimoiy loyihalar taqdim etildi va treninglar o'tkazildi. #forum#yoshlaragentligi Telegram sahifamiz👉@yoshlaragentligi

IK Design©

@ikdesignuz · Post #1720 · 28.11.2023 г., 18:17

📸 Yoshlar ishlari agentligining instagram sahifasi uchun rasmlarni vintaj uslubida yoritish maqsadida yangi dizayn shablon tayyorladik. #Vintage#Post#YoshlarAgentligi ⚡️@ikdesignuz • buyurtma uchun

Dilnozaxon Kattaxonova🇺🇿

@dkattakhanova · Post #3025 · 27.09.2022 г., 13:00

Ilmiy tadqiqot faoliyati bilan shug‘ullanuvchi barcha xotin-qizlar diqqatiga! 🇺🇿 Yoshlar ishlari agentligi"PhD sari qadam" mavzusidagi 2 oylik o‘quv kursi uchun grant e’lon qiladi. 📜 Ro‘yxatdan o'tish uchun quyidagi havoladan foydalaning: https://forms.gle/EHTgEb4rJT17o7az5 🌐 Shoshiling joylar soni chegaralangan, 2-oktabr kuni soat 23:59 da ro‘yxatdan o‘tish rasman yakunlanadi! Loyiha haqidabatafsil #yoshlaragentligi#PhD#tadqiqot#seminar ✅Rasmiy sahifalarimiz: http://myurls.co/dilnozaxon_kattaxonova

Zamin Foundation

@zaminfoundation · Post #2014 · 22.11.2025 г., 07:02

Bolalar huquqlarini himoya qilish va ilgari surish ramzi sifatida, O‘zbekiston Butunjahon bola kuniga bag‘ishlangan "Dunyoni ko‘k rang bilan yorit" global aksiyasini qo‘llab-quvvatladi. — В знак защиты и продвижения прав детей, Узбекистан поддержал глобальную акцию «Освети мир синим цветом», посвященную Всемирному дню ребёнка. — As a symbol of protecting and promoting children’s rights, Uzbekistan supported the global campaign "Light Up the World in Blue" dedicated to World Children’s Day. #HarBirBolaUchun#UNICEF#MMTV#YoshlarAgentligi#Zamin Zamin|Facebook| Instagram| YouTube

⏺🟥🟥🟥#saralash_jarayoni 🟦 Volontyorlik sohasiga qiziquvchi, shaxsiy rivojlanish istagida bo'lgan barcha yoshlar diqqatiga! 🇺🇿#Rasman: Yangi formatdagi "Universe" volontyorlar maktabining1-mavsumi saralash jarayonlariga start berildi. 📝 Saralash jarayonining birinchi bosqichida maxsus havola orqali ro'yxatdan o'tish, ma'lumotlarni kiritish va havolada ko'rsatilgan savollarga javob berish kerak bo'ladi. 🔗 Havola:https://forms.gle/tsSDsqY2orpPEfJu7 ➡️ Birinchi bosqich uchun ro'yxatdan o'tish jarayonlari joriy yilning 1-mayidan 5-may kuniga qadar davom etadi. Arizalar 6-8-may kunlari ko'rib chiqiladi va 9-may kuni ikkinchi bosqichga o'tgan yoshlar ro'yxati e'lon qilinadi. #yoshlaragentligi#universe#uva#saralash 🕊@universe_volontyorlar_maktabi