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

Пребарај: #hammali

当前筛选 #hammali清除筛选

Лев Лещенко, Баста, Леша Свик, HAMMALI, Navai, ICEGERGERT, Джино, NILETTO, Mary Gu, MONA...Увидеть всех этих исполнителей на одном релизе кажется нереальным, но LOC-DOG выпустил трибьют-альбом "16/36" и сделал сказку былью. За 20 лет с микрофоном Лочи накопил такой багаж, который не унести в одиночку, поэтому в гостях все — от фрешменов до мэтра советской эстрады. Лочи написал новые куплеты в свои песни многолетней давности, припевы исполняют те, кто ходил в школу, когда он собирал залы. Баста даже как-то не выделяется на общем фоне, поскольку каждый трек звучит ново вне зависимости — пятнадцать ему лет или восемь. Надо сказать, что вне релиза я похож на старого деда, который при появлении Джиги, Басты, NILETTO на бите бежит вырубать Алису через две комнаты, уж набор букв вроде ICEGERGERT вообще ввергает в ужас, но...Лочи был бы не Лочи, если бы не смог сделать, что почти все это звучит откликом в сердце. Процитируем автора: "Искусство не быть искусственным" и "Порой мне в треках проще, чем в жизни, что-то озвучивать". Альбом открывает жир с Бастой — "Каждому свое". Василий никогда не был королем рифмы, но тут на удивление увесисто, жирно и солидно, впервые генератор рифм из кубиков сложился. Макан с Лочи звучат "Громче, чем гроза". Готовый хит для девичьих хоров на стадионах. После такого можно и в армию спокойно топать служить. В "Не спать" ICEGERGERT возвращает всех в недавнее прошлое, клубный бенгер как есть. Помню как Лочи выиграл "Золотой граммофон", записав простой попсовый трек "На расстоянии". На церемонии Лочи был белой вороной среди попсовиков-затейников. Теперь такая ворона на треке — Джиган. Но это звучит органично! NAVAI превращает "Не закрывай" в шикарную балладу. "Твое и мое" кричит, благодаря новому куплету Лочи, части Свика на разрыв и финалу от Джино, память которого Лочи красиво почтил. Без шуток, но в строках Никиты "Когда иконы заплачут маслом" больше про Веру, чем в иной проповеди. В "Фонари" Niletto переродился как лирик, а не качок на шесте, неожиданно. "В той весне" Mary Gu стала собой, перастав гнусавить в стиле Краймбери, хвала доктору LOC-DOGy. "Вот и все" с HAMMALI и "Раненое сердце" с Navai прекрасно расширяет лирическую вселенную альбома. В конце, без шуток, хочу сказать про традиционные ценности. Лев Валерьянович Лещенко сделал с "Счастье в простом" нечто прекрасное. Это гимн семье, дружбе и честности. Спасибо лучшей части советской эстрады, что не бросает русский рэп и поклон за эту Песню. Можно это на стадионе с симфоническим оркестром? "16/36" — пока лучший поп-рэп альбом этого года. Формально — трибьют самому себе на 20 лет творчества, однако по факту — полное переосмысление того, кто такой LOC-DOG. Это история про то, что человеку все даётся за труд, через тернии, из накуренных подвалов к дворцам культуры и лайвам на радио. Как не зазнаться, при этом остаться уличным, но не двуличным. Кстати, родители, вы вообще послушайте этот альбом, тут почти все, кого ваши дети слушают или слушали последние лет так 5. Тяжело, но надо. Ложка дегтя? Не зовите никуда больше Og Buda, его даже Electrodog не спасет. Плохо и вторично. Многие спрашивают, почему русский рэп имеет право на свою жизнь, а не подражание западному? Вот "16/36" ответит. "Каждому свое. Тем, кто решил, что я устал — ещё один альбом". #locdog#баста#niletto#marygu#hammali#navai#свик#джино#джиган#mona#лещенко#macan#брутто#лочи#рэп#трибьют#плейлист Вопросик на контроле