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

Резултати

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

Пребарај: #apmp

当前筛选 #apmp清除筛选

Два месяца назад я поставила перед собой интересную задачу - полноценно протестировать уход с достижением результатов. Что тут интересного, спросите вы, мол, я и так постоянно тестирую косметику? Это так, но мне предложили через обследование выявить то, что можно скорректировать. - подобрали уход (который я покупала эти два месяца сама); - поделюсь расходом, чтобы было удобно рассчитать на «лечение»; - и за это время приходить и проверять как идет лечение и восстановление. Да-да! Именно лечение, потому что речь идет о космецевтике Am&pm. С первой и второй диагностикой можете ознакомиться здесь А в этом посте показываю вчерашнюю диагностику (т.е. через 2 месяца от начала лечения) На видео слышно и видно состояние кожи и комментарии косметолога. На осень запланирована работа с сосудами и пигментацией 🥰 #apmp@tatyanabeautycare

Hashtags

Incheon mezbonligidagi APMP 41-yig‘ilishi: O‘zbekiston delegatsiyasi faol ishtirok etmoqda 🔄 O'zbekiston texnik jihatdan tartibga solish agentligi huzuridagi O‘zbekiston milliy metrologiya instituti vakillari Osiyo–Tinch okeani metrologiya dasturi (APMP) Bosh Assambleyasining 41-yig‘ilishida, shuningdek Davlat metrologiya muassasalarining Yevro–Osiyo hamkorligi (COOMET) tashkiloti nomidan ishtirok etmoqda. 📍Nufuzli anjuman 2025 yil 21–28 noyabr kunlari Koreya Respublikasining Incheon shahrida, Koreya o‘lchovlar va ilmiy-tadqiqot instituti (Korea Research Institute of Standards and Science – KRISS) tomonidan tashkil etilmoqda. ✍️ Bu xalqaro tadbirda O'zbekiston milliy metrologiya instituti hodimlari metrologiyaning akustika, massa, elektr, uzunlik, harorat, sarf, fotometriya, kimyo, ionlantiruvchi nurlanish, vaqt va chastota yo‘nalishlari hamda sifat tizimi bo‘yicha texnik qo‘mitalar yig‘ilishlarida faol ishtirok etdi. ✅Ushbu yig‘ilishda ishtirok etish orqali O‘zMMI mutaxassislari turli yo‘nalishlardagi eng so‘nggi yutuqlar, metodikalar va xalqaro talablar bilan tanishdilar va o'z yo'nalishlari bo'yicha taqdimotlar taqdim etdilar. ✅ Ma'lumot uchun: Hozirgi kunga kelib, O‘zMMI APMP doirasida BIPM bazasida ro‘yxatga olingan 3 ta (akustika va tebranish, uzunlik, hajm) solishtirish loyihalarida ishtirok etmoqda, shu bilan birga 2025 yil davomida NIM (China)da – 11 nafar NIMT (Tailand)da – 5 nafar KRISS (Koreya)da – 3 nafar mutaxassislar malakasi oshirildi. 🎖️ Tadbir doirasida KRISSning 50 yillik faoliyati, shuningdek, Metrik konvensiya qabul qilinganligining 150 yilligi ham tantanali ravishda nishonlanadi. 📈 Ushbu yirik xalqaro tadbirga qatnashish massa, ionlovchi nurlanish, elektr va magnetizm, bosim, uzunlik, fotometriya, vaqt va chastota o‘lchash yo‘nalishlarida tashkil etilishi rejalashtirilgan yangi solishtirish loyihalarda ishtirok etish imkonyatini beradi. ❗️ Mazkur anjumanda O‘zMMI vakillarining ishtiroki Germaniya Fizik-texnik instituti (PTB)ning “Milliy sifat infratuzilmasini rivojlantirish” loyihasi doirasida qo‘llab-quvvatlanmoqda. 📰 Shuningdek, ta'kidlash joizki, APMP rasmiy veb-saytida O‘zMMI ning joriy yildagi faoliyati xalqaro jamoatchilikka “Highlights of Recent Activities at UzNIM” nomli maqola orqali taqdim etildi. (https://www.apmpweb.org/portal/article/index/cid/16/id/1336.html). #UzNIM#APMP#KRISS#COOMET#Metrology#APMP_GA_2025 🌐standart.uz | Facebook | Instagram | YouTube