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

Пребарај: #yucatan

当前筛选 #yucatan清除筛选

ЛАТАМ в цифрах: главное за неделю 1️⃣Coca-Cola инвестирует миллиарды долларов в Мексику и Бразилию Президент Мексики Клаудия Шейнбаум объявила, что компания The Coca-Cola Company инвестирует 6 млрд долларов США в экономику страны. Информация была озвучена после встречи с топ-менеджментом компании в президентском дворце. В тот же день власти Бразилии сообщили, что Coca-Cola направит 30 млрд реалов (около 5,8 млрд долларов) на развитие страны до 2030 года. Инвестиции пойдут на строительство новых заводов и распределительных центров в пяти регионах. 2️⃣В Юкатане начали строительство первого искусственного рифа У побережья порта Рио-Лагартос в штате Yucatán установлены первые 30 конструкций для создания искусственного рифа. Проект реализуется в трёх милях от берега и направлен на развитие экологии, рыболовства и туризма. Ожидается, что уже к лету в этом районе можно будет заниматься снорклингом, а в перспективе планируется установка до 500 искусственных рифов, которые помогут восстановлению морской биомассы и создадут новые туристические возможности для региона. 3️⃣Shakira установила рекорд посещаемости концерта на Zócalo в Мехико Концерт Shakira на главной площади Мехико — Zócalo — собрал около 400 тысяч зрителей, что стало новым рекордом для бесплатных концертов на этой площадке. Во время выступления певица исполнила хиты разных этапов своей карьеры. Шоу стало важной частью её международного тура и подтвердило высокий уровень популярности артистки в Мексике. Ранее рекорд принадлежал группе Los Fabulosos Cadillacs (300 тыс. зрителей), за ними следовали Grupo Firme и Paul McCartney. 4️⃣Бразилия построит 117 школ для коренных народов Правительство Бразилии направит 785 млн реалов (153 млн долларов) на строительство до 117 школ для коренных народов в 17 штатах страны. Об этом сообщил министр образования Камило Сантана. Проект реализуется в рамках программы ускоренного роста и предусматривает создание образовательной инфраструктуры с учётом культурных особенностей и образа жизни местных сообществ. Наибольшее число школ будет построено в штатах Амазонас, Рорайма и Амапа. #Brazil#Education#Ecology#Economy#ЛАТАМЦифрами#Mexico#CocaCola#Yucatan#IndigenousPeoples#Shakira 👉Всегда свежие новости о странах Латинской Америки