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

Резултати

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

Пребарај: #sitar

当前筛选 #sitar清除筛选
Tibicen

@world_music_geek · Post #97 · 01.11.2020 г., 21:38

Ravi Shankar — The Sounds of India (Columbia Records, 1968) #hindustani#raga#sitar#India Культовый альбом Рави Шанкара, который представляет классическую музыку Северной Индии западному слушателю. В начале альбома Рави Шанкар дает определение раге на английском языке, а затем исполняет ряд композиций, сопровождая их пояснениями о том, как они устроены. Вопреки этому, музыка исполнена очень аутентично. Альбом был вдохновлен работами Али Акбара Кхана, известного исполнителя на сароде и преподавателя классической музыки Северной Индии, и спродюсирован Джорджем Авакяном, одним из продюссеров Майлза Дейвиса. Spotify | AppleMusic

Tibicen

@world_music_geek · Post #247 · 03.02.2022 г., 17:02

Banaras Baba & Kolkata Kid — From North to South (Epidemic Sound, 2021) #hindustani#raga#sitar#India#Sweden После многих лет изучения музыки Индостана, два шведских музыканта, мульти-инструменталист К.Г. Уэстман, он же Banaras Baba, и перкуссионист Хьюго Виден, он же Kolkata Kid, выпустили серию мини-альбомов, посвященных индийской классической музыке. Перед нами второй альбом из этой серии. Несмотря на то, что у музыкантов не было задачи смешивать разные музыкальные традиции, в их работах присутствуют западные инструменты и очень слышно влияние западной музыки. Spotify | AppleMusic

Tibicen

@world_music_geek · Post #330 · 21.11.2022 г., 19:39

Shujaat Khan & Katayoun Goudarzi — This Pale (Black Groove Music, 2021) #hindustani#persian_classical#sitar#ney#tabla#Iran#India Совместная работа ситариста Шуджаата Хусейна Хана и иранской вокалистки Катаюн Гударзи. За свою долгую карьеру Шуджаат выпустил более 60 альбомов. Одним из самых ярких моментов его карьеры стал альбом The Rain, записанный с индо-персидским ансамблем Ghazal. Пластинка была номинирован на премию Грэмми в 2004 году. На новой работе This Pale звуки ситара Хусейна Кхана, вокал Гударзи, най Шахо Андалиби и табла Шарика Мустафы вдохнули новую жизнь в шесть стихотворений Руми, персидского поэт-суфия XIII века. Spotify | AppleMusic

Tibicen

@world_music_geek · Post #768 · 03.10.2024 г., 08:00

Various Artists — Folk Music of Pakistan (Folkways Records, 1951) #traditional#alghoza#bansuri#bagpipe#clarinet#dholak#dilo#duff#ghatam#mandolin#sarinda#sitar#tabla#tambura#Bangladesh#Pakistan Пакистан образовался в 1947 году после разделения Британской Индии на два государстваː индуистское, Индийский Союз, и мусульманское, Доминион Пакистан. Бангладеш, ранее известный как Восточный Пакситан, приобрёл автономность в 1971 году в результате войны за независимость. Композиции из разных регионов обеих современных стран представлены на этой записи 1951 года. Например, на ней можно услышать песню бангладешских лодочников «бхатиали» (ভাটিয়ালি) или пуштунскую любовную песню из Хайбер-Пахтунхва. Важно отметить, что некоторые названия, упомянутые в названиях песен, изменились с момента создания этих записей. Например, провинция Хайбер-Пахтунхва (Khyber Pakhtunkhwa) в 1951 году носила имя Северо-Западная пограничная провинция (Northwest Frontier Province). 🔗Spotify | AppleMusic

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