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

Пребарај: #bipm

当前筛选 #bipm清除筛选

O‘zbekiston Prezidenti Xalqaro metrik Konvensiyaga qo‘shilish to‘g‘risidagi Qonunni imzoladi 2025 yil 27 noyabrda O‘zbekiston Respublikasi Prezidenti “Xalqaro metrik Konvensiyaga (Parij, 1875 yil 20 may, 1907 yil 17 oktyabrdagi, 1913 yil 11 oktyabrdagi va 1921 yil 6 oktyabrdagi o‘zgartirish va qo‘shimchalar bilan) O‘zbekiston Respublikasining qo‘shilishi haqida”gi Qonunni imzoladi. Mazkur huquqiy hujjat qabul qilinishi bilan O‘zbekiston rasman dunyodagi eng nufuzli metrologiya kelishuvi — 1875 yilda tuzilgan Xalqaro metrik Konvensiyaning to‘laqonli ishtirokchisiga aylanishiga zamin yaratdi. O‘zbekistonning mazkur Konvensiyaga qo‘shilishi mamlakatimizdagi o‘lchovlar birligini xalqaro standartlarga muvofiqlashtirish, Jahon savdo tashkilotiga a’zo bo‘lish jarayonida texnik to‘siqlarni kamaytirish va milliy sifat infratuzilmasini zamonaviy talablar asosida takomillashtirishda muhim qadam hisoblanadi. Bu bizga quyidagi imkoniyatlarni yaratadi: • O‘zbekistonning xalqaro konsultativ qo‘mitalar (CIPM CCs) va BIPM laboratoriyalari faoliyatida to‘laqonli ishtirok etishi; • milliy mutaxassislarning Byuro qoshida malaka oshirishi va stajirovkalarda ishtirok etishi; • xalqaro savdo jarayonlarida texnik to‘siqlarni kamaytirish; • milliy mahsulotlarning xalqaro bozorda raqobatbardoshligini oshirish; • investorlar va xalqaro tashkilotlar ishonchini kuchaytirish; • eksport salohiyatini kengaytirish va sifati xalqaro tasdiqlangan o‘lchov natijalaridan foydalanish; • O‘zbekistonning xalqaro reyting va indekslardagi ko‘rsatkichlarini yaxshilash; • CGPM yig‘ilishlarida ishtirok etish va ovoz berish huquqiga ega bo‘lish, CIPM saylovlariga nomzod ilgari surish imkoniyati. Prezident tomonidan imzolangan ushbu Qonun mamlakatimizda aniq va ishonchli o‘lchash amaliyotini xalqaro mezonlarga mos holda rivojlantirish, metrologiya sohasidagi barqaror o‘sishni ta’minlash hamda O‘zbekistonning global hamjamiyatdagi nufuzini oshirishga xizmat qiladi. #Uzbekistan#UzNIM#BIPM#The_Metre_Convention#Metrology 🌐standart.uz | Facebook | Instagram | YouTube

O‘zbekiston vakili xalqaro BIPM–TÜBİTAK UME dasturi doirasidagi seminarda muvaffaqiyatli ishtirok etdi ✅ Yaqinda Xalqaro o‘lchov va tarozilar byurosi (BIPM) hamda Turkiya Milliy Metrologiya instituti (TÜBİTAK UME) hamkorligida amalga oshirilayotgan “BIPM – TÜBİTAK UME Project Placements” xalqaro dasturining 8-bosqichi doirasida gibrid shakldagi o‘quv mashg‘uloti bo‘lib o‘tdi. ✅ Mazkur dastur 2018-yildan buyon muvaffaqiyatli amalga oshirilib kelinmoqda va bugungi kunga qadar 43 mamlakatdan 77 nafar tadqiqotchini birlashtirgan. Dastur milliy metrologiya institutlarining ilmiy-texnik salohiyatini oshirish, xalqaro hamkorlikni rivojlantirish hamda metrologiya sohasidagi mutaxassislar malakasini yuksaltirishga qaratilgan. ✅ Seminarda BIPMning Xalqaro aloqalar va kommunikatsiyalar bo‘limi vakillari Anna Sipionka va Chingis Kuanbayev ishtirok etdilar. Tadbir davomida xalqaro metrologiya tizimi va o‘lchov institutlarining o‘zaro tan olinishi uchun asos bo‘luvchi CIPM o‘zaro tan olish kelishuvi (CIPM MRA) haqida batafsil ma’lumot berildi. Dastur doirasida Albaniya, Ozarbayjon, Bosniya va Gersegovina, Kolumbiya, Malayziya, Misr, Norvegiya, O‘zbekiston, Ukraina va Vetnamdan jami 10 nafar mutaxassis ishtirok etdi. ✅ Seminarda O‘zbekiston texnik jihatdan tartibga solish agentligi huzuridagi O‘zbekiston milliy metrologiya instituti Xorazm filiali mutaxassisi Sh. Kadirov “Tibbiy metrologiya” yo‘nalishi bo‘yicha o‘z ma’ruzasi bilan faol ishtirok etdi. Uning ishtiroki mamlakatimizning xalqaro ilmiy hamjamiyat bilan integratsiyalashuvini chuqurlashtirish, shuningdek, zamonaviy metrologik infratuzilmani yanada takomillashtirish yo‘lidagi izchil sa’y-harakatlarini ifodaladi. ✅ Tadbir davomida ishtirokchilarga o‘zaro tajriba almashish, metrologiya sohasidagi dolzarb masalalarni muhokama etish, shuningdek, yetakchi xalqaro laboratoriyalarda qo‘llanilayotgan ilg‘or uslub va amaliyotlar bilan tanishish imkoniyati yaratildi. #UzNIM#BIPM#TUBITAK_UME#CBKT#hududiy_filiallar 🌐standart.uz | Facebook | Instagram | YouTube