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

Резултати

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

Пребарај: #polansky

当前筛选 #polansky清除筛选
PiaNinoNotovna

@ninonotovna · Post #358 · 19.07.2025 г., 08:14

#piano #Polska #Chopin #Polansky ПИАНИНО И РОЯЛИ. ИСТОРИЯ ШЕСТАЯ: ВЛАДИСЛАВ ШПИЛЬМАН И ЕГО ПИАНИНО https://youtu.be/t81r4PGWdSk?feature=shared Каждый раз, а их было всего два, когда смотрела этот фильм, сердце переворачивалось. «ПИАНИСТ» Романа Полански (Roman Polansky) - это не простая голливудщина, это не очередной внеочередной фильм о холокосте, каких много, и, к сожалению, в большинстве своём, бездарных. Это действительно фильм о Пианисте, но не только. Это и фильм о Пианино (Роялях), которые его спасли. Да! Я готова утверждать, что в этом кино, где прекраснейший артист Эдриан Броуди (Adrien Brody) играл роль польского пианиста Владислава Шпильмана (Wladyslav Szpilman 1911-2000) спасли именно инструменты. И было это, как минимум, дважды: В первый раз, когда он, сходя с ума от голода и одиночества на подпольной квартире, беззвучно играл Полонез Шопена, кажется, на хозяйском пианино. А во второй, когда в развалинах Варшавского гетто, играл на чудом уцелевшем рояле Шопеновскую первую Балладу, благодаря чему и встретил своего спасителя - немецкого офицера Вильгельма Хозенфельда (Wilhelm Adalbert Hosenfeld 1895-1952). Вторая сцена до сих пор трогает меня до слез. Сразу слышу прерывистый голос Мандельштама (никогда его не слышала, правда, но мне кажется, что именно такой голос у него и был). И пророческое это стихотворение написано накануне мирового кошмара, начавшегося вовсе не в 1939м, а в 1933м. К НЕМЕЦКОЙ РЕЧИ Б.С.Кузину Freund! Versäume nicht zu leben: Denn die Jahre fliehn, Und es wird der Saft der Reben Uns nicht lange glühn! Ewald Christian Kleist Себя губя, себе противореча, Как моль летит на огонек полночный, Мне хочется уйти из нашей речи За все, чем я обязан ей бессрочно. Есть между нами похвала без лести И дружба есть в упор, без фарисейства — Поучимся ж серьезности и чести На западе у чуждого семейства. Поэзия, тебе полезны грозы! Я вспоминаю немца— офицера, И за эфес его цеплялись розы, И на губах его была Церера... Еще во Франкфурте отцы зевали, Еще о Гете не было известий, Слагались гимны, кони гарцевали И, словно буквы, прыгали на месте. Скажите мне, друзья, в какой Валгалле Мы вместе с вами щелкали орехи, Какой свободой вы располагали, Какие вы поставили мне вехи. И прямо со страницы альманаха, От новизны его первостатейной, Сбегали в гроб ступеньками, без страха, Как в погребок за кружкой мозельвейна. Чужая речь мне будет оболочкой, И много прежде, чем я смел родиться, Я буквой был, был виноградной строчкой, Я книгой был, которая вам снится. Когда я спал без облика и склада, Я дружбой был, как выстрелом, разбужен. Бог Нахтигаль, дай мне судьбу Пилада Иль вырви мне язык — он мне не нужен. Бог Нахтигаль, меня еще вербуют Для новых чум, для семилетних боен. Звук сузился, слова шипят, бунтуют, Но ты живешь, и я с тобой спокоен. 8— 12 августа 1932 PS Надеюсь, мы будем видеться не только в Валгалле, но и здесь, друзья!:)))) Хорошего дня Вам! Ваша PiaNinoNotovna My Telegram: https://t.me/ninonotovna И не забывайте подписываться! Так общаться будет легче, говорят:))