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 слични објави

Пребарај: #coomet

当前筛选 #coomet清除筛选

COOMET TK 1.3 “Elektr va magnetizm”ning 19-yig‘ilishi Toshkentda bo‘lib o‘tmoqda ✅ Yangi O‘zbekiston tarixida ilk bor 2025-yil 7–9-oktabr kunlari O‘zbekiston texnik jihatdan tartibga solish agentligi huzuridagi O‘zbekiston milliy metrologiya instituti (O‘zMMI) tomonidan COOMETning TK 1.3 “Elektr va magnetizm” texnik qo‘mitasining 19-yig‘ilishi bo‘lib o‘tmoqda. ✅ Mazkur xalqaro tadbirda COOMETga a’zo davlatlar — Belarus, Rossiya, Xitoy, Qozog‘iston Respublikasi, Armaniston, Gruziya, Turkiya, Ozarbayjon kabi mamlakatlarning milliy metrologiya institutlari vakillari shuningdek, texnik qo‘mita a’zolari ishtirok etmoqda. ✅ Tadbir onlayn va oflayn formatda tashkil etilgan bo‘lib, unda COOMET kotibiyati hamda boshqa xalqaro metrologiya tashkilotlari vakillari ham qatnashmoqda. ✅ Yig‘ilishga TK 1.3 raisi, BelGIM instituti vakili Marina Yarmolovich raislik qilmoqda. ✅ Tadbir doirasida quyidagi masalalar muhokama etilmoqda: 🟤 COOMET qo‘mitasi va Prezident kengashi qarorlari hamda ularning ijrosi; 🔴 etalonlar bo‘yicha Qo‘shma qo‘mitaning (OKÉ) 28–29-yig‘ilishlari yakunlari; 🟢 elektr kattaliklar sohasidagi xalqaro va mintaqaviy solishtirishlarning borishi hamda O‘zbekiston milliy metrologiya instituti tomonidan taklif etilayotgan yangi solishtirish loyihalari; 🟡 COOMET P6/2023 dasturi doirasidagi “SI asosiy birliklarini qayta ta’riflash” bo‘yicha yo‘l xaritasi ijrosi; 🩷 TK 1.3 faoliyatining 2024–2025-yillardagi natijalari va yangi yo‘nalishlar bo‘yicha takliflar. ✅ Yig‘ilish davomida Rossiya, Belarus, Gruziya, Turkiya va O‘zbekiston milliy etalonlari ishtirokida o‘tkazilayotgan hamda rejalashtirilayotgan bir qator solishtirishlar — xususan, Jozefson effekti bo‘yicha kuchlanish etalonlari, Xoll effekti bo‘yicha qarshilik etalonlari, shuningdek, yuqori kuchlanish va katta tok o‘lchov tizimlari sohasidagi qiyoslamalar muhokama qilinmoqda. ✅ Shuningdek, CIPM MRA kelishuvi doirasidagi faoliyat, SMS (Calibration and Measurement Capabilities) bo‘yicha ekspertlar ro‘yxatini yangilash, CEEMS mamlakatlariga ko‘mak dasturlari va elektron o‘quv platformalarini yaratish bo‘yicha takliflar ham ko‘rib chiqilmoqda. ✅ Yig‘ilish COOMETga a’zo mamlakatlar o‘rtasida elektr va magnet o‘lchashlar sohasidagi hamkorlikni yanada mustahkamlash, qiyoslamalarni tashkil etish va ilmiy-amaliy tajriba almashish maqsadida o‘tkazilmoqda. #UzNIM#COOMET#TK_1_3#electricity_and_magnetism 🌐standart.uz | Facebook | Instagram | YouTube

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