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

Резултати

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

Пребарај: #chambermusic

当前筛选 #chambermusic清除筛选
Classical Music

@exploreclassical · Post #276 · 12.05.2021 г., 15:50

分享Shostakovich最有名的String Quartet~是他的著名作品中唯一一首在国外(东德)创作的,”In Remembrance of the Victims of Fascism and War” 。里面肖斯塔科维奇的DSCH motif (D - bE - C - B)。另外这首作品还有orchestra arrangment op. 110a #shostakovich#chamberMusic https://www.youtube.com/watch?v=41HIXtBElH4 ref: 1. https://cso.org/uploadedFiles/1_Tickets_and_Events/Program_Notes/ProgramNotes_Shostakovich_ChamberSymphony.pdf 2. http://www.quartets.de/compositions/ssq08.html 3. DSCH motif - https://en.wikipedia.org/wiki/DSCH_motif

Classical Music

@exploreclassical · Post #137 · 19.12.2020 г., 18:43

差点忘了今天的Beethember了😂今天分享一首Piano Trio, Op. 97,更常见的名字叫Archduke Trio,又是献给Rudolf大公的~这首可以算是贝多芬Heroic Period的“闭关之作” ~ #Beethember#Beethoven#chambermusic https://www.youtube.com/watch?v=ulXGtMITC50 ref: https://www.hollywoodbowl.com/musicdb/pieces/2856/piano-trio-in-b-flat-op-97-archduke

Classical Music

@exploreclassical · Post #283 · 27.05.2021 г., 15:11

分享一首可能略微有一点点“冷门”的作品(?)~Smetana Trio for Violin, Cello and Piano, Op.15,写于作曲家相继失去两个女儿之后。 #smetana#chamberMusic https://www.youtube.com/watch?v=Ha4mw465ckY ref: https://www.sfsymphony.org/Data/Event-Data/Program-Notes/S/Smetana-Trio-in-G-minor-for-Violin,-Cello,-and-Pia

Classical Music

@exploreclassical · Post #260 · 18.04.2021 г., 20:57

今天分享Mozart的String Quartet No.14 in G major,有Spring的昵称。这首作品是Mozart题献给Haydn的六首String Quartet的第一首,而Haydn正是String Quartet的创始人~ https://www.youtube.com/watch?v=Gix_p3Pw1gg #springClassical#mozart#chamberMusic ref: https://en.wikipedia.org/wiki/String_Quartet_No._14_(Mozart)

Classical Music

@exploreclassical · Post #278 · 17.05.2021 г., 12:13

分享Debussy的Sonata for Flute, Viola and Harp~ #Debussy#chamberMusic#frenchComposers https://www.youtube.com/watch?v=rLvShcrp1c4 ref: 1. https://thelistenersclub.com/2019/08/21/debussys-sonata-for-flute-viola-and-harp-the-land-of-laughter-and-tears/ 2. https://www.laphil.com/musicdb/pieces/3401/sonata-for-flute-viola-and-harp

Classical Music

@exploreclassical · Post #369 · 27.01.2022 г., 20:52

前几天发现一个作曲家Carl Friedrich Abel~他是Bach的学生,还和Bach最小的儿子Johann Christian Bach做过室友,他们一起创办了可能是欧洲第一个subscription concert series: Bach-Abel Concerts~曾经还有一首莫扎特的symphony最后发现是Abel的作品~他的Viola da Gamba作品最为出名,这也是他演奏的主要乐器~ 我是通过上一条分享的专辑发现的这位作曲家,这套Drexel Manuscript一共是29首,之前是保存在著名画家Thomas Gainsborough手中,后由Joseph W. Drexel获得,最终是藏于纽约公共图书馆。这位Drexel曾和J.P. Morgan是商业伙伴,还做过MET的director~ 个人这两天听这张专辑还蛮喜欢的,大多数曲目都比较短小精悍,节奏自由,有即兴特质(Abel据说也是一个非常好的improviser),viola da gamba的音色也是非常悠扬~今天再分享一首以分解和弦贯穿全曲的~ https://www.youtube.com/watch?v=XmG0mamkqcg #chamberMusic#ViolaDaGamba#Abel

Classical Music

@exploreclassical · Post #196 · 13.02.2021 г., 12:50

今天我们来到300年前的辛丑年,1721年。这个时间自然是Bach的音乐啦~1721年,Bach写了Brandenburg Concertos,一共六套作品。今天我们就来听一听其中的No.5第一乐章吧~当时视频里这种double manual harpsichord刚被发明出来,可以做出更多的dynamics,这首第一乐章的harpsichord cadenza非常炫目~ #bach#harpsichord#baroque#chambermusic#辛丑年的古典音乐 https://www.youtube.com/watch?v=ZK6-x9sdEYo btw欢迎最近新进channel的朋友们~想进讨论组的话请戳:https://t.me/exploreclassicalchat