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

Пребарај: #andreabocelli

当前筛选 #andreabocelli清除筛选
🎼 CLÁSICA AL ATARDECER 🎻

@ClasicaAlAtardecer · Post #6533 · 03.02.2024 г., 18:30

​​#AveMaría#Schubert#DavidGarrett#AndreaBocelli AVE MARÍA El Ave María de Schubert también es una pieza de concierto; por lo general se canta en latín, aunque se ha traducido a varios idiomas, y ha sido interpretada por artistas como María Callas, Plácido Domingo, Luciano Pavaroti, Andrea Bocelli o Diana Ross. Esta pieza musical no se escribió con fines litúrgicos, sino que formó parte de un conjunto de obras inspiradas en un poema épico del novelista inglés Walter Scott conocidos como La Dama. Schubert compuso siete canciones sobre La Dama del Lago que fueron publicadas en 1826 como su Opus 52. El Ave María es la tercera canción de este conjunto y fue escrita en alemán para ser interpretado por una voz femenina acompañada por piano en una tonalidad de Si bemol mayor. La belleza de esta obra hizo que se empezara a usar con fines religiosos en los templos; el compositor Franz Liszt hizo tres adaptaciones para piano de esta pieza, que, con los años, se ha convertido en una de las favoritas para interpretarse en las bodas, y por su belleza, compite con otras aves María como la de Bach-Gounod, Offenbach, e incluso, la de Jaime Nunó, el autor del Himno Nacional Mexicano quien escribió un Ave María. La palabra Ave proviene de la Roma clásica y era una forma de saludar significando “que estés bien” o que“Dios te salve”. Años después de su composición un desconocido adaptó la música de la canción de Schubert al himno de alabanza en latín, con lo cual la obra pasó de tener un carácter profano al religioso con el que se le conoce actualmente. Es decir, pasó de ser el canto de ayuda de una joven (como era en la obra de Scott) a un himno con las palabras “Ave María, llena eres de gracia, el señor está contigo”. El Ave María de Franz Schubert es conocido y amado en todo el mundo; hay algo profundamente místico, poderoso, íntimo y amoroso en cada una sus notas. Schubert, en una carta a su padre, afirmó: “Ave María logró cautivar a sus oyentes y dedicarlos por completo, en corazón y alma”. La brillantez de la ingeniosa composición de la lírica melodía, es conmovedora en su sencillez. @ClasicaAlAtardecer