@exploreclassical · Post #463 · 25.12.2022 г., 18:02
倒数日历到今天就结束啦~活动期间channel的关注人数也来到了1000,非常感谢大家的支持🙏Merry Christmas and happy holidays! 🧑🎄🎄 #adventCalendar https://www.youtube.com/watch?v=hVWVAVZuTpA
Hashtags
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
Пребарај: #adventcalendar
@exploreclassical · Post #463 · 25.12.2022 г., 18:02
倒数日历到今天就结束啦~活动期间channel的关注人数也来到了1000,非常感谢大家的支持🙏Merry Christmas and happy holidays! 🧑🎄🎄 #adventCalendar https://www.youtube.com/watch?v=hVWVAVZuTpA
Hashtags
@exploreclassical · Post #462 · 25.12.2022 г., 04:12
https://m.youtube.com/watch?v=n036kBC1HEw #adventCalendar
Hashtags
@exploreclassical · Post #459 · 23.12.2022 г., 02:53
Winter Storm Elliott 即将横扫北美lol今天就来首 Winter Wind 吧 🌬️🌬️🌬️ https://www.youtube.com/watch?v=bHbgLoDG8Ko&ab_channel=MaurizioPollini-Topic #adventCalendar
Hashtags
@exploreclassical · Post #458 · 22.12.2022 г., 01:24
大家冬至快乐~分享一首巴托克的 Winter Solstice Song, 一年中最黑暗的一天即将过去~ https://www.youtube.com/watch?v=tKaEmA6soIE #adventCalendar
Hashtags
@exploreclassical · Post #457 · 21.12.2022 г., 02:58
差点忘了今天的分享了hhh今天夹带一个个人私货吧hhh我最喜欢多圣诞音乐是来自 Vince Guaraldi Trio 的为花生漫画创作的配乐~俏皮的风格,配上舒尔茨画笔下那些有趣的小朋友,以及想象力超级丰富的 snoopy,可以让人忘记所有烦恼! 今年还有幸去参观了位于加州Santa Rosa的舒尔茨博物馆,参观中还碰到了现场的爵士表演,是今年最难忘的记忆之一了! https://m.youtube.com/watch?v=VVB18xbRMI4&list=PLEpZan9S2GOFesp-gJqsdD80a7zoaflHa #adventCalendar
Hashtags
@exploreclassical · Post #455 · 18.12.2022 г., 19:15
今天看了这届世界杯的唯一一场球hhh~分享帕瓦罗蒂在一首1990年世界杯的conert上演唱的,我们熟悉的 Nessun Dorma~据说这首曲子成为1990年世界杯的一首代表曲目是因为当年BBC体育频道非常罕见的选用了这首曲子作为转播片头。据说帕瓦罗蒂小时候还曾经想过去当门将hhh~另外发现1990年世界杯的决赛是西德vs阿根廷,阿根廷惜败,今天也是终于圆了阿根廷长久以来的梦想啦! https://www.youtube.com/watch?v=V5moKfZ9Y2Q #adventCalendar
Hashtags
@exploreclassical · Post #454 · 17.12.2022 г., 22:20
今天是贝多芬的生日,分享一首他的作品吧~好像贝多芬没有太多圣诞相关的作品,查了一圈发现一篇文章里提到了这首 12 Variations on a Theme from Handel's Judas Maccabaeus, WoO 45,大约是原作的宗教背景让它成为了圣诞会演奏的曲目吧~另外旋律也挺轻快的 https://www.youtube.com/watch?v=cdmPI7M7oug ref: https://www.henle.de/blog/en/2019/12/23/christmas-with-beethoven/ #adventCalendar
Hashtags
@exploreclassical · Post #453 · 16.12.2022 г., 22:22
周五啦,今天分享一个特别的!我们这今天风雨交加,这恶劣的天气让我想到了一集冰天雪地背景的《猫和老鼠》:snowbody loves me~配乐是肖邦串烧🤣希望大家看得开心,keep warm 🧣 https://m.youtube.com/watch?v=i0cwtd5ZDe0 #adventCalendar
Hashtags
@exploreclassical · Post #452 · 16.12.2022 г., 04:13
今天发的有点晚啦,分享一首 Liszt 的 Christmas Tree Suite 里的 Slumber Song~晚安💤 https://m.youtube.com/watch?v=8XkI0xamAhU #adventCalendar
Hashtags
@exploreclassical · Post #449 · 13.12.2022 г., 02:11
在这段紧张的日子里,我们听一段幽默曲休息一下吧。我们选了一个Jazz的幽默版本,Art Tatum的即兴技术高超,让人叹为观止。请朋友们欣赏 https://www.youtube.com/watch?v=ZL-CVV616nI&ab_channel=bluesinorbit #adventCalendar
Hashtags
@exploreclassical · Post #448 · 12.12.2022 г., 03:38
今天久违的出去玩耍,居然就撞上了这个冬天的第一场雪!分享一首 Sibelius 的 Symphony No.6,Sibelius 曾说过“The Sixth Symphony always reminds me of the scent of the first snow.” ❄️ https://youtu.be/uV2Sh56TK_g #adventCalendar
Hashtags
@exploreclassical · Post #447 · 10.12.2022 г., 22:53
昨天我们听了 Fanny Mendelssohn 的季节主题套曲,今天来一首可能大家更熟悉的:柴可夫斯基的季节主题套曲~同样分享十二月~ https://www.youtube.com/watch?v=U-FGZ5InUNc&ab_channel=OlgaScheps #adventCalendar
Hashtags