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

Пребарај: #qizlar

当前筛选 #qizlar清除筛选

#qizlar#futbol Maktab o‘quvchi qizlari o‘rtasida futbol boʻyicha “Maktabgacha va maktab ta’limi vaziri kubogi!” boʻlib oʻtdi. Qizgʻin bahslarga boy oʻtgan musobaqada yakuniy natijalar quyidagicha: 1-o‘rin — Surxondaryo viloyati, Boysun tumani, 30-maktab jamoasi. Yutuq – “Damas” avtomashinasi va 250 mln so‘m; 2-o‘rin — Qoraqalpog‘iston Respublikasi, Bo‘zatov tumani, 10-maktab jamoasi. Yutuq – “Damas” avtomashinasi va 200 mln so‘m; 3-o‘rin — Surxondaryo viloyati, Qumqo‘rg‘on tumani, 42-maktab jamoasi. Yutuq – “Damas” avtomashinasi va 150 mln so‘m pul mukofoti. ➖ Shuningdek, qolgan jamoalar vorkaut maydonchasini qurib berish bo‘yicha vaucher, 50 mln so‘mdan pul mukofoti, 800 mln so‘m qiymatga ega futbol koptoklari (har bir jamoaga 50 donadan) hamda boshqa qimmatbaho sovg‘alar taqdim etildi. Musobaqaning yorqin va hayajonli lahzalarini tomosha qiling. Kelajak soati Bizni kuzating: ❤Telegram🌐Facebook 🌐Youtube🌐Instagram 🔎Veb-sayt😄Linkedin

#qizlar#futbol Maktab o‘quvchi qizlari o‘rtasida futbol boʻyicha “Maktabgacha va maktab ta’limi vaziri kubogi!” boʻlib oʻtdi. Qizgʻin bahslarga boy oʻtgan musobaqada yakuniy natijalar quyidagicha: 1-o‘rin — Surxondaryo viloyati, Boysun tumani, 30-maktab jamoasi. Yutuq – “Damas” avtomashinasi va 250 mln so‘m; 2-o‘rin — Qoraqalpog‘iston Respublikasi, Bo‘zatov tumani, 10-maktab jamoasi. Yutuq – “Damas” avtomashinasi va 200 mln so‘m; 3-o‘rin — Surxondaryo viloyati, Qumqo‘rg‘on tumani, 42-maktab jamoasi. Yutuq – “Damas” avtomashinasi va 150 mln so‘m pul mukofoti. ➖ Shuningdek, qolgan jamoalar vorkaut maydonchasini qurib berish bo‘yicha vaucher, 50 mln so‘mdan pul mukofoti, 800 mln so‘m qiymatga ega futbol koptoklari (har bir jamoaga 50 donadan) hamda boshqa qimmatbaho sovg‘alar taqdim etildi. Musobaqaning yorqin va hayajonli lahzalarini tomosha qiling. Kelajak soati Bizni kuzating: ❤Telegram🌐Facebook 🌐Youtube🌐Instagram 🔎Veb-sayt😄Linkedin

Вот так классно прошёл для меня праздник 8 марта!) Спасибо большое девочкам из группы Qizlar за приглашение на свой фестиваль (оплатили дорогу, гостиницу на 1 день и еще заплатили гонорар за лекцию-500 000 сум, который ушёл в кассу нашего приюта!). Атмосфера фестиваля была очень дружественная, молодёжь, организовавшая этот фестиваль и участвующая в нем, просто замечательная! Будущее у нас светлое с такой молодёжью!) А затем ташкентские зооволонтеры пригласили меня посетить приют "Мехр". Очень мне все там понравилось! Откровенно скажу-повезло животным, которые туда попали! Спасибо большое организаторам, руководству и всему персоналу приюта за их благородный труд! Хотелось бы всех неравнодушных людей пригласить активнее участвовать в жизни наших приютов , помогать материально и физически, а также искать семьи для наших замечательных питомцев! #8_марта #Узбекистан#Самарканд#Ташкент#Qizlar#Mehr#terra_vita_sam