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

Резултати

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

Пребарај: #kobyz

当前筛选 #kobyz清除筛选
Tibicen

@world_music_geek · Post #648 · 06.06.2024 г., 12:05

Älibiy Romanov — Yiraw: Nogay Heroic and Lyrical Songs (Ored Recordings, 2024) #field_recording#traditional#kobyz#dombra#nogay#Russia История альбома началась еще в 2015 году, когда была записана музыка Алибия Романова. К сожалению, выпуск постоянно откладывался, и в 2021 году Алибий трагически погиб в автокатастрофе, так и не увидев своего альбома. Акын в тюркской традиции — это сказитель, не просто хранитель и передатчик устной поэзии и эпических текстов, но прежде всего создатель новых произведений и мастер импровизации. Таким себя считал Алибий Романов, и так его воспринимали в прессе и на сцене. Алибий использовал каноны традиционной ногайской музыки, создавая на их основе новые наигрыши и мелодии, которые сопровождались стихами и сказаниями. Тем не менее, специалисты считают, что его точнее было бы называть «йырав» — исполнителем песен. На альбом попало несколько песен, как традиционных, так и сочиненных Алибием, в основу которых лег его личный опыт и преживания: ✦ Ävelgide — это героическая песня, написан на слова исторической поэмы ногайского поэта Суюна Капаева «Йойтпадылар шебер-шешен тиллерин». ✦ Men Köremen — основана на песне средневекового ногайского поэта Шал-Кийиза Тиленши улы «Мен коьремен». В ней поется о землях Ногайской Орды на момент начала XVI века и о том, как поэт, «поднимаясь на великий Эльбрус, видит необъятные ногайские владения», и как он горд в этот момент. ✦ Qobızım — это авторская песня Алибия Романова, где он поет как мастерил свой кобыз. ✦ Qanıyke — песня о дочери золотоордынского хана Тохтамыша и супруге эмира Эдиге — Канийке. Она была одной из первых женщин, совершивших хадж в Мекку, и стала известной в исламском мире XV века. ✦ Qatar Qaz — народная ногайская песня, воспевающая исконно ногайскую мелодию, рожденную на берегах Иртыша и Волги, исторических ногайских местах. ✦ Arip Kelip — авторская песня Алибия Романова, в которой он поет о своей матери, и том, как в любом возрасте каждому из нас нужна материнская забота и ласка. 🔗Spotify | AppleMusic | Bandcamp

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