Можно ли в 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
Postrigay Gallery представила новую выставку работ художников-шестидесятников «Хрупкость вне времени».
«СУЩЕСТВУЕТ КРАСОТА НАСТОЛЬКО ХРУПКАЯ, НЕОПРЕДЕЛИМАЯ, ЭФЕМЕРНАЯ, ЧТО ОБЯЗАТЕЛЬНО ДОЛЖНА БЫТЬ ЗАКЛЮЧЕНА В ЖЕСТКУЮ РАМУ В ПРЯМОМ И ПЕРЕНОСНОМ СМЫСЛЕ - РАМУ ФОРМЫ, ИНАЧЕ ОНА УСКОЛЬЗНЕТ И ИСПАРИТСЯ, КАК ДРАГОЦЕННЫЕ ДУХИ ИЗ НЕЗАКРЫТОГО ФЛАКОНА» — Дмитрий Краснопевцев.
Магистральной идеей проекта становится то, что невзирая на сложный временной период смысл останется один — стремление художников создавать и выходить за рамки окружающей реальности даже в условиях неопределенности, держа фокус на том, что близко сердцу.
🗓️ 14 ноября - 01 февраля
⛳️ Cube.Moscow, ул. Тверская, 3
(здание отеля The Carlton, Moscow, – 2 этаж)
#галереялично#lichnogallery
#postrigaygallery#были_лично
Интересно, как сегодня художники переосмысляют связь человека и природы.
На выставке Postrigay gallery«Сад света» Маши Даниловской меня привлекло то, как она работает с границами. В ее живописи и керамике птицы и звери буквально растворяются в среде.
Концепция строится вокруг гипотезы Геи (Земля как единый организм), но без излишней дидактики. Особое впечатление оставляет серия «Острова». С одной стороны — это архетип потерянного рая, хрупкого и самодостаточного, с другой автор уходит от географии в чистую абстракцию, превращая остров в метафору внутреннего состояния.
Удивительной легкости и текучести первоначального рисунка на холсте Мария добивается создавая графику чернилами, переводя ее в цифровой коллаж и только затем она пишет маслом!
🗓️ до 24 мая
⛳️ул. Тверская, 3, -2 этаж
#были_лично#postrigaygallery
#машаданиловская#садсвета
Большой ивент прошел на прошедшей неделе в masters.
Postrigay gallery открыли новую выставку резидента галереи Анны Дёминой«Растворится в закате пение птиц». Абстрактные пейзажи будто погружают в другой мир, описывая переживания, связанные с соприкосновением природы.
Эмоционально, проникновенно!
🗓️ 22 октября - 16 декабря
⛳️ masters, Малый Патриарший пер, 5с1
#были_лично#аннадемина
#masters#postrigaygallery
Пропустили вчера открытие в Postrigay Gallery, где представили персональную выставку Надежды Ягофаровой «Зеркало дней».
Но вам от души рекомендуем, в экспозиции собраны сочные натюрморты и объекты, созданные художницей с 2020 года по настоящее время. Такие проекты помогают найти в повседневности что-то особенное, стоит просто остановиться.
🗓️ 20 февраля - 27 марта
⛳️Cube.Moscow, ул. Тверская, 3
#postrigaygallery#cubemoscow
#надеждаягофарова#зеркалодней
Так, с биографией Зубарева разобрались, теперь о главном — его теории времени. Художник видел время как живое пространство и выделял целых шесть его видов:
✔️Плоское время. Здесь всё повторяется в чётком ритме, создавая ощущение бесконечного калейдоскопа. То самое избыточное время.
✔️Изогнутое время. Пространство искривлено — реальность живёт по иным законам. Здесь совмещены разные координаты: временные, пространственные и эмоциональные. Некое искаженное время.
✔️Разорванное время. Время распадается на части, а участники событий существуют в разных ритмах. Картина становится визуальной метафорой разорванного времени.
✔️Реликтовое время. Это «протовремя» — холодное и безвоздушное. Оно просто присутствует, не участвуя в событиях, подобно поверхности древнего зеркала. Время до человека.
✔️Фактическое время. Самое человеческое из всех — настоящее, конкретное. Это время жизни, дыхания, того самого «здесь и сейчас».
✔️Световое время. Автономное время будущего, где остаётся только энергия и свет. Картина становится источником свечения, а время существует как чистая энергия.
P.S. Зубарев не просто рисовал — он создал целую философскую систему в красках. Теперь осталось определить, какое время вы чувствуете в своей жизни?!
#были_лично#postrigaygallery
#владиславзубарев#cubemoscow#раскрываявремя
Открываем для вас еще одного художника из плеяды нонконформистов. Вчера в Postrigay Gallery представили новую выставку — «Раскрывая время. Владислав Зубарев».
Этот художник был настоящим «арт-Штирлицем» — днем работал инженером, а ночью создавал смелое искусство. Участник знаменитой выставки в Манеже 1962 года, которую раскритиковал Хрущев, Зубарев прошел путь от студии «Новая реальность» до собственных экспериментов со временем. Его метод прост и гениален: он доверял интуиции, пытаясь сделать время видимым и осязаемым. Владислав не просто рисовал, а буквально «останавливал мгновение», что звучало бы безумно, если бы не было так здорово.
Так что эта выставка — отличный шанс открыть для себя имя, которое долго оставалось в тени, но точно заслуживает вашего внимания!
🗓️ до 21 января
⛳️ ул. Тверская, 3, -2 этаж
#были_лично#postrigaygallery
#владиславзубарев#cubemoscow#раскрываявремя
Вчера посвятили вечер Cube.Moscow, где галерея Postrigay провела открытие персональной выставки Кати Медведевой под названием«Таинство». Несмотря на почтенный возраст, 88-летняя художница лично присутствовала на вернисаже, что не может не вызывать восхищения и уважения к её преданности искусству.
Как отмечал Марк Шагал: «Катя Медведева — это чисто русский талант, она так же любит цвет, как и я». Живопись стала для художницы способом отстраниться от повседневных забот и возвыситься над ними. В своих работах Медведева преобразует непростые жизненные обстоятельства и личные трагедии в чистоту и свет — это и есть то самое «Таинство», к которому стремится автор.
Стоит заметить, что в начале весны в Cube.Moscow состоялось открытие 14-ти новых проектов. Для тех, кто еще не успел побывать — добавляем еще один повод к посещению арт-пространства.
🗓️ 1 апреля - 15 июня
⛳️ ул. Тверская, 3 (-2 этаж)
#были_лично#postrigaygallery
#катямедведева#таинство
#cubemoscow