Можно ли в 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
the truffle hunters, 2020, m. dweck, g. kershaw
север италии, пьемонт. будни пожилых людей, которые в одиночку ходят с собаками по лесам в поисках местных сокровищ. трюфель находится под землёй, пёс унюхивает, разрывает. потом хозяин продаёт его дилеру, а тот перепродает в рестораны, носит на выставки для ценителей. любимые сцены - от первого лица лающих охотников; застольные беседы с ними же. #doc
А мы напоминаем, что программа Bastau Docs есть на сайте фестиваля.)
Bastau Docs - сегодня, Синий зал #doc
НЕОБРАТИМОСТЬ (Сказка времени, которое не вернётся) - 14:00
Павле Терзич, Сербия, 2023, 107 мин
Из Детройта, через Чикаго, в направлении Манчестера и дальше к Берлину и Белграду. Независимо от того, звучит ли рейв на подпольной (в прямом и в переносном смысле) клубной площадке или на сценах больших залов, электронный звук становится своего рода новой музыкальной религией.
ГОЛОС ЛЕДНИКА - 16:00
Ядыкар Ибраимов, Казахстан, 2023, 80 мин
Хорошо известно, что ледники тают из-за климатического кризиса, но как именно это происходит? Эко-триллер о таянии ледника Туюксу в Казахстане — и работа ученых, которые документируют этот процесс.
Коллектив Women Make Docs анализирует фильм «Голос ледника»
ДОЧЬ ХУДОЖНИКА - 18:00
Маргарита Линтон, Янив Линтон, Израиль, 2022, 60 мин
Она присоединяется к экскурсии по выставке известного художника. Мужчина на автопортретах — её отец, но об этом знают лишь немногие. Она связывается с художником впервые за десять лет и делится своей идеей снять фильм об их отношениях, которые возобновились благодаря его творчеству. Взволнованный художник отправляет её снимать свою выставку. По ходу работы над фильмом она обнаруживает, что встреча с человеком, стоящим за портретами, является для нее настоящим испытанием. «Дочь художника» рисует ошеломляющий и удивительный портрет отношений, которые могут существовать только в кино.
Моше Циммерман, Пицца в Освенциме, 2008
главный герой, Данни Ханох, переживший все ужасы Холокоста, кочуя из одного концлагеря в другой исполняет свою мечту: возвращается, чтобы посетить лагеря вместе со своими детьми. у него есть план, он хочет снова переночевать в бараке. воспоминания о кошмаре становятся травмой для следующего поколения. #doc
Fifi az khoshhali zooze mikeshad, 2013
Фифи воет от счастья
r. Mitra Farahani
полу-забытый иранский художник и скульптор Бахман Мохассес давно покинувший Тегеран живёт в итальянском отеле. он ужасающе хохочет и кашляет и с упоением рассказывает (листая каталог своих работ) как он уничтожал их. потому что не хочет оставаться в памяти потомков.
получение нового заказа обрекает на невозможность нахождения правильного оттенка краски. желание курить выступает против кашля. а камера, установленная так чтобы точно заснять первое касание кисти, по иронии записывает последние звуки.
расстояние между художником и картиной, режиссёркой (которая фарахани, но не родственница другому фарахани) и фильмом постоянно пружинит и чуть меняется пока они общаются между собой, но кажется что ни фильм, ни каталоги, ни заказчики не вызывает такого трепета как (портрет?) Фифи. такое не продаётся.
и сколько бы Мохассес не рвал свои картины раньше и не язвил вот тут он и есть. ну и нет его тоже тут.
#doc
#pulpnonfiction#doc
«Венедикт Ерофеев: посторонний». Олег Лекманов, Михаил Свердлов, Илья Симановский (РЕШ, 2018)
Биография Венички, сделанная в технике монтажа фактов и воспоминаний, запараллелена литературоведческому анализу поэмы «Москва-Петушки». Краткий вердикт: читать, подавляя мысли «ну как же так-то».
Текст про эту книгу внезапно нашел отклик у аудитории Дзена (только не читайте комментарии, просто не читайте комментарии).
#pulpnonfiction#doc
«Батенька, да вы трансформер» или «Как стать знаменитым, счастливым, найти себя и свою любовь, предсказать будущее и вылечить все болезни»
1. Для тех кто не следит за «звездами соцсети» (а именно так называется серия АСТ, в которой вышла эта книга): «Батенька, да вы трансформер» — это своеобразное, но очень любопытное медиа, напоминающее одновременно и «Русского репортера», и «Русскую жизнь».
2. В магазине книга стояла на полке «Самиздат», но в книжном понимании это, конечно, никакой не самиздат, а издание тиражом 2000 экземпляров со всеми прелестями АСТ: газетная бумага, плохая техническая верстка и корректура ниже плинтуса (корректора в выходных данных нет в принципе).
3. Верстка веб-статей перенесена в печатную книгу буквально: с батеньковским шрифтом, флаговым набором, отступами под буквицами, прерывистыми линиями на шмуцах и так далее. Не заморачивались ребята.
4. А еще в книге, конечно, нет замечательных иллюстраций, коубов и видео (или qr- кодов), которые есть в вебе
#рекурсия#doc
Дочитала сборник статей Аркадия Мильчина (тот самый, написавший «Справочник издателя и автора») о культуре издания книг. Общий посыл: правила оформления нужны не потому что так принято и такой ГОСТ (с ГОСТами Мильчин иногда спорит), а потому что поставьте себя на место читателя — как будет удобнее ему?
Если взять с полки несколько случайных книг, то неграмотное оформление будет у каждой второй. А у каждой первой не будет, только потому что это художка русского автора, причем состоящая из одного романа без деления на главы. Хоть подхватывай знамёна и пиши доколе-заметки в «Книжное обозрение».
Типичные ошибки собрала в статье.
My Octopus Teacher, 2020
Мой учитель - осьминог
r. P. Ehrlich, J. Reed
в документалистике тонкая грань между автором и обьектом изучения, а в случае с фильмом про учение осьминога почему-то постоянно кажется что эта грань нарушается. что у дайвера на протяжении года нездоровая одержимость и желание проводить дни в обществе харизматичной мадам осьминог.
#doc#leaveoctopusalone