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

Резултати

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

Пребарај: #problem

当前筛选 #problem清除筛选
Azamatjon · Blog!

@azamatjon_designer · Post #72 · 26.03.2025 г., 19:24

#PROBLEM Dunyoda adolatsizlik bor – ba’zilar ko‘p narsaga ega, boshqalar esa hech narsasiz... #SOLUTION Odamlar bir-biriga yordam berishi kerak – agar hamma faqat o‘zini o‘ylasa, hayot yomonlashadi. Faqat birlikda adolat bo‘lishi mumkin. Xulosa: Ba’zilarning ko‘p narsaga ega bo‘lishi faqat boylik bilan emas, balki salohiyat, imkoniyat, nasab, sog‘liq, yashash joyi kabi ustun jihatlar bilan farqlanadi. Hech narsasiz deganda esa, sog‘liq muammolari, nizolar, ochlik, qashshoqlik, ilmsizlik va boshqa imkonsiz holatlar tushuniladi. Yechim: Odamlar bir-biriga yordam berishi kerak, ya’ni bilgan bilmaganga o‘rgatishi, to‘q ochni to‘ydirishi, imkonli inson imkonisizga ko‘mak berishi lozim. Ya’ni, biz qanday vaziyatda bo‘lmaylik, bizdan pastdagilarga yordam berishimiz, o‘z ustimizda ishlashdan to‘xtamasligimiz va shukr qilishimiz kerak. @Azamatjon_design#eslatmalar#problem_solution

Swift Academy

@swift_academy · Post #271 · 06.01.2026 г., 15:29

𝐍𝐞𝐠𝐚 𝐤𝐨'𝐩 𝐡𝐨𝐥𝐥𝐚𝐫𝐝𝐚 𝐲𝐞𝐜𝐡𝐢𝐦𝐥𝐚𝐫 𝐯𝐚𝐪𝐭𝐢𝐧𝐜𝐡𝐚𝐥𝐢𝐤 𝐲𝐨𝐤𝐢 𝐱𝐮𝐬𝐮𝐬𝐢𝐲 𝐲𝐨𝐤𝐢 𝐲𝐮𝐳𝐚𝐤𝐢 𝐛𝐨'𝐥𝐚𝐝𝐢? Chunki odatda muammo paydo bo‘lishi bilan darhol yechim izlashga kirishiladi. Natijada esa muammo to‘liq tushunilmasdan, vaqtinchalik yoki yuzaki qarorlar qabul qilinadi. Tajribali mutahasislar esa, eng avvalo muammoning asl mohiyatini tushunishga harakat qiladi. Muammo nimadan iborat, qayerda paydo bo‘lgan, nimasi aniq, nimasi noaniq — shu savollarga javob topmasdan keyingi bosqichga o‘tmaydi. Chunki aniq ifodalanmagan muammo hech qachon to‘g‘ri yechimga ega bo‘lmaydi. Batafsil o'rganilgandan keyin — mavjud tajribani o‘rganish. Oldin bu masalaga kimlar duch kelgan, qanday yondashuvlar bo‘lgan, qaysi usullar ishlagan yoki ishlamagan. Bu bosqich vaqtni tejaydi va takroriy xatolardan saqlaydi. Siz birinchi bo‘lib bu muammoga duch kelayotgan bo‘lishingiz kamdan-kam holat. Shundan keyingina haqiqiy tahlil boshlanadi. Mavjud yechimlar qayerda to‘xtab qolgan, qaysi joylar e’tibordan chetda qolgan, qaysi taxminlar tekshirilmagan — aynan shu bo‘shliqlarni topish eng muhim qadamdir. Yechim ko‘pincha hamma ko‘rgan joyda emas, aynan shu bo‘shliqlarda yashiringan bo‘ladi. Topilgan fikrlar keyin modelga aylantiriladi. Bu diagramma, jarayon xaritasi, arxitektura yoki oddiy mantiqiy ketma-ketlik bo‘lishi mumkin. Model fikrni tartibga soladi, noaniqliklarni ochib beradi va keyingi qarorlar uchun asos yaratadi. Model tayyor bo‘lgach, u real sharoitda sinovdan o‘tkaziladi. Bu bosqichda xatolar chiqadi, zaif joylar ko‘rinadi va aynan shu orqali yechim takomillashadi. Mukammal model degan narsa yo‘q, lekin ishlaydigan va o‘zini oqlagan model bo‘ladi. Faqat barcha shu bosqichlardan o‘tgandan keyingina yakuniy yechim paydo bo‘ladi. Bu shunchaki g‘oya emas, balki tekshirilgan, asoslangan va mas’uliyat bilan qabul qilingan qarordir. Agar bir muammo sizni qayta-qayta qiynayotgan bo‘lsa, ehtimol muammo masalaning murakkabligida emas, balki siz o‘tkazib yuborgan qaysidur bosqichda bo'lishi mumkin. Kuchli mutaxassislar shoshilmaydi. Siz muammoga yechim ishlab chiqishda qanday yondashuv qilasiz? #problem#problem_solving#skill#phd#ios#developer Mukhriddinbek Samidov 🔗YouTube | Instagram | LinkedIn | Telegram | Medium

搜书神器 读书动态

@BookLogSFW · Post #91115 · 18.05.2026 г., 06:03

书名:crash course for the new gre 4th editio - princeton review 文件:英文 · MOBI · 2MB · 4万字 · 0R 统计:308热度 | 5下载 | 1点赞 | 0收藏 评级:0分 (0人) 💬 质量:5分 (0人) 标签:#answer#question#Quantity#one#choices#two#number#choice#get#passage#re#time#word#like#questions#sentence#know#problem#GRE#first#find 上传:👤Swof #预览#SFW#收藏书籍 📜我喜欢的书籍[1本]