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

Резултати

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

Пребарај: #fip

当前筛选 #fip清除筛选
Cerdas Gunakan Obat

@cerdasgunakanobat · Post #3552 · 26.02.2020 г., 15:52

[FIP-IAI Bali Commitment 2020] ~ As previously reported, the 2020 Indonesian Pharmacists Association Annual Scientific Meeting will be held in conjunction with the South East Asia and Asia Pacific Region FIP Regional Conference. The event will be held on 1-3 April, in Bali, Indonesia. ~ The International Pharmaceutical Federation (FIP) is the global body representing pharmacy, pharmaceutical sciences and pharmaceutical education. Founded in 1912, FIP is a non-governmental organization with its head office in the Netherlands. ~ Representing over four million pharmacists, pharmaceutical scientists and pharmaceutical educators around the world, works to support the development of the pharmacy profession, FIP is continuing its efforts to strengthen pharmacists position as a primary healthcare provider globally. ~ FIP had successfully held FIP Regional Conference activities for the Middle East and Europe in order to support the implementation of the 2018 Astana Declaration, which was endorsed by WHO to optimize the role of primary health care facilities in equitable access to health. ~ FIP would like to invite Pharmacist organizations in various countries to collaborate and actively participate in the movement. On the 3rd regional conference this April, a Bali Commitment to Action on Primary Health Care will be adopted as a form of statement of support for Pharmacists in the Southeast Asia and Asia Pacific region for the 2018 Astana Declaration. ~ Read more: http://iai.id/news/organisasi/fip-and-iai-will-bring-the-pharmacy-optimising-primary-health-care-through-digital-technology-into-bali-commitment-this-year ~ Save your seat now. See you in Bali! More detailed information: www.iai.id/fip_pit2020 ~ Indonesian Pharmacists Association, National Board Instagram: @ppiai Facebook Fanpage: Ikatan Apoteker Indonesia (IAI) Website: www.iai.id ~ #ppiai#rakernaspitiai2020#fipregionalconferencebali2020#fipregbali2020#balicommitment#fip#apotekerindonesia#apotekermudaindonesia#pharmacist#youngpharmacist ~ https://www.instagram.com/p/B9CNyuBJXIE/?igshid=10jf6hu9rhyxg ~ https://www.facebook.com/107979759228505/posts/3355532314473217/