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

Пребарај: #marimba

当前筛选 #marimba清除筛选
Tibicen

@world_music_geek · Post #468 · 12.11.2023 г., 09:02

Agrupacion Changó — Berejú (llorona, 2020) #cumbia#bambuco#afro_colombian#marimba#Colombia Группа Agrupacion Changó происходит из Сан-Андрес-де-Тумако, находящемся на юго-западе Колумбии, всего в нескольких шагах от границы с Эквадором. Этот город — «жемчужина Тихого океана», как его называют местные. Он находится в департаменте Нариньо, где живет множество метисов, Тихоокеанская природа отличается необычной красотой, а социальная обстановка далека от благополучия из-за нищеты и продолжающихся вооруженных действий. Здесь же проживает подавляющее большинство чернокожего населения, что оставляет свой музыкальный осадок, глубоко укоренившийся в полиритмии африканских племен. Синтез различных музыкальных влияний создал в этом регионе уникальную музыкальную традицию, слабо известную в мире. Среди более или менее известных артистов, работающих в этом стиле — Соня Базанта (Sonia Bazanta Vides), также известная как Тото ла Момпосина (Totó La Momposina). Таким образом пластинка Agrupacion Changó — очень редкий экземпляр современной афро-колумбийской музыки, поднимающей завесу над многими традициями Сан-Андрес-де-Тумако. «Oroí Oroá», например, — вводящая в транс песня, исполняется во время больших ритуальных праздников. Любовь к предкам и уважение к пожилых — главные темы «Vos Me Lo Tocá», в то время как «Este Es la Estrella» — местная рождественская песня. Spotify | AppleMusic | Bandcamp | VK

Tibicen

@world_music_geek · Post #897 · 06.02.2025 г., 18:10

Chloé Despax & Félix Blume — Agua Larga: Traditional & Imaginary Cimarron Music (Akuphone, 2024) #traditional#field_recording#marimba#cununos#bombo#guasa#afro_latin#Esmeraldas#Ecuador Agua Larga — звуковое исследование провинции Эсмеральдас, чья культура берёт начало в истории рабства и общин беглых рабов. Режиссёр Хлоя Деспакс и звукооператор Феликс Блюм записали живую музыкальную среду региона в полевых условиях, где музыка и голоса местных жителей сливаются с естественными звуками окружающего мира. Одним из наиболее известных музыкальных стилей Эсмеральдаса является бомба — энергичный жанр, сочетающий африканские барабанные ритмы с элементами испанской и местной андской музыки. Основу бомбы составляет барабан бомбо. Особое внимание уделяется коллективному исполнению, где вокалисты и музыканты ведут живой музыкальный диалог. Другой значимый стиль региона — маримба. В нём используется одноименный инструмент, а также барабаны и другая перкуссий. Маримба традиционно сопровождает праздники, религиозные церемонии и обряды, включая знаменитые фестивали La Diablada de Píllaro и El Arrullo. 🔗Bandcamp | Spotify | AppleMusic | Deezer

Tibicen

@world_music_geek · Post #740 · 03.09.2024 г., 09:05

Инструменты #accordion#afoxe#agaita#apapshyn#apapshyn#baglama#baglamas#bagpipes#bajo_sexto#bandoneon#banjo#bansuri#barbat#berimbau#bouzouki#brass#bulbul_tarang#cabrette#calabash#chabrette#chanzy#cimbalom#clarinet#conga#daf#dam#damaru#dambura#dhol#dholak#dilruba#djembe#dombra#doshpuluur#draailier#duduk#dulcimer#dunggur#dut#dutar#epinette#epinette_des_vosges#erhu#flute#gabusi#gayageum#geomungo#ghatam#ghaychak#goje#gong#granular_synthesis#gubguba#guembri#guitar#guzheng#gwo_ka#gyil#harmonium#harp#hurdy_gurdy#igil#irawk#kamanche#kamyl#kangling#kanjira#kanyeri#kayamb#kemenche#kendhang#khomus#kobyz#kologo#komuz#kora#lag_na#lamellophone#lute#lyre#malimba#mandola#mandolin#mandoloncelle#marimba#marranzano#mbira#musical_bow#nay#ney#ngombi#ngoni#nyckelharpa#ocarina#organetto#oud#piano#pifres#premtal#pungi#qraqebs#rebab#rolmo#rubab#sanfonha#sanfonha#santur#sarangi#sarod#setar#shakuhachi#shang#shychepshyn#sildyen#silnyen#sintir#sitar#soku#sring#synth#tabla#talking_drum#tambours#tambura#tanbur#tanpura#tar#tende#thavil#theremin#tindi#tingsha#tombak#tombi#toubeleki#trombone#trumpet#tuba#tumbi#tzouras#vibraphone#viola#violin#water_drum#xylophone#zerbaghali#zither#zurna#сhabreta