Можно ли в 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
🖼Бесплатная выставка «Крошечная пустошь»
Миниатюрный мир Петера Чаквари завоевал популярность во всём мире 🌍. Его проект Tiny Wasteland — это фотографии в масштабе 1:87, где крошечные фигурки оказываются в самых неожиданных ситуациях.
Здесь дайвер плавает в банке с солёными огурцами, пожарные тушат острую паприку 🌶, а теннисисты играют на поле из кухонной губки 🧽. Чаквари уже создал более 200 таких работ, и каждая из них заставляет улыбнуться и посмотреть на привычные вещи под новым углом.
✨ Это выставка, где юмор, гротеск и фантазия сливаются воедино, превращая повседневность в яркое приключение.
📍 Артмуза, 13-я линия В.О., д. 70
📆 24 сентября — 24 ноября, ежедневно 11:00 — 22:00
💸 Вход свободный
#артмуза#выставкаспб#бесплатновспб#кудасходитьспб#искусствоспб#современноеикусство#spbfree
Где провести вечер? Что посмотреть? Все ответы — в Куда сходить в Санкт-Петербурге.
🌕Полное лунное затмение над Петербургом!
Уже в воскресенье, 7 сентября, жители города смогут наблюдать редкое астрономическое явление — полное лунное затмение. 🌌
✨ Детали:
🔭 Луна будет находиться в тени Земли 1 час 22 минуты
🌑 Пик затмения — 21:12 (мск)
🔴 В это время Луна приобретает загадочный красноватый оттенок
Не забудьте загадать желание, когда увидите «кровавую Луну»!
#ЛунноеЗатмение#АстрономияСПб#НебоСПб#СобытияСПб#КудаПойтиСПб#SaintPetersburg#SPBfree
От закатов до спектаклей — рассказываем, где побывать. Куда сходить в Санкт-Петербурге — твой городской гид.
🎨Бесплатная галерея с яркими картинами, где искусство живёт в цвете и настроении!
Русско-американский художник Дмитрий Стрижов — мастер, чьи работы экспонировались в лучших галереях Нью-Йорка. После 15 лет за океаном он вернулся в Петербург и открыл школу-галерею PLOSKOSTI, где делится опытом и вдохновением с молодыми художниками 🎨
Его картины невозможно спутать с другими — яркие краски, узнаваемые персонажи и мощная энергия, будто сошедшая со стены. Сейчас в галерее проходит выставка «Искушение самурая» — про внутреннюю силу, путь и гармонию.
📍 ул. Радищева, 42
⏰ Пн–Вс 12:00–21:00
💵 Вход свободный
#галереяспб#искусствоспб#питербесплатно#бесплатноспб#афишаспб#кудасходитьспб#spbfree#spbevent#гуляембесплатнопитер#артспб
Где провести вечер? Что посмотреть? Все ответы — в Куда сходить в Санкт-Петербурге.
🌌Quantum Pulse: 80 голубых лучей над Петербургом
На стрелке Васильевского острова зажигается необыкновенное световое шоу: 80 голубых прожекторов пронзают небо ✨.
Инсталляция Quantum Pulse посвящена 80-летию атомной промышленности СССР и России и превращает город в центр притяжения света и энергии.
📍 Стрелка Васильевского острова
📆 27 и 28 сентября
🕗 20:00–22:00
📸 Фото: @paveldemichev
#quantumpulse#светспб#артспб#кудасходитьспб#бесплатноспб#стрелкавасильевского#spbafisha#spbfree
Петербург ближе, чем кажется — будь в курсе интересного с Куда сходить в Санкт-Петербурге.
🌍Бесплатный день в музее почвоведения!
Каждый последний вторник месяца — день бесплатного посещения Центрального музея почвоведения им. В.В. Докучаева.
Ближайшая дата — 28 октября🗓
Это уникальное место, где можно увидеть почвенные монолиты — вертикальные срезы почвы с полностью сохранённым строением. Здесь собрана богатейшая коллекция образцов со всех уголков планеты, от арктических земель до тропиков.
Если вы любите науку, природу и необычные музеи — это отличный повод заглянуть сюда! 🌱
📍 Биржевой проезд, 6
💵 Вход свободный (28 октября)
#музеиспб#бесплатноспб#афишаспб#интересноспб#кудасходитьспб#гуляембесплатнопитер#spbfree#spbmuseum#экологияспб
Город оживает каждый день — подписывайся на Куда сходить в Санкт-Петербурге и не пропускай главное!
✨Спас на Крови — одно из лучших мест для вечерней прогулки и фотосессии.
Когда загорается подсветка и огни отражаются в водах канала Грибоедова, храм выглядит особенно сказочно. Атмосфера старого Петербурга, тихие набережные и величественный силуэт собора делают это место идеальным для романтической прогулки или атмосферных снимков.
Только посмотрите, какой красивый снимок получился у создателя нашего телеграм-канала😍
📍 Набережная канала Грибоедова, 2Б
📸 andrei_mikhailov, а также
📸 aleksandr_paklin
#СпасНаКрови#ВечернийПитер#ПрогулкиПоПетербургу#ФотосессияСПб#КрасотыСПб#SaintPetersburg#SPBfree
От закатов до спектаклей — рассказываем, где побывать. Куда сходить в Санкт-Петербурге — твой городской гид.
✨Спас на Крови — одно из лучших мест для вечерней прогулки и фотосессии.
Когда загорается подсветка и огни отражаются в водах канала Грибоедова, храм выглядит особенно сказочно. Атмосфера старого Петербурга, тихие набережные и величественный силуэт собора делают это место идеальным для романтической прогулки или атмосферных снимков.
Только посмотрите, какой красивый снимок получился у создателя нашего телеграм-канала😍
📍 Набережная канала Грибоедова, 2Б
📸 andrei_mikhailov, а также
📸 aleksandr_paklin
#СпасНаКрови#ВечернийПитер#ПрогулкиПоПетербургу#ФотосессияСПб#КрасотыСПб#SaintPetersburg#SPBfree
От закатов до спектаклей — рассказываем, где побывать. Куда сходить в Санкт-Петербурге — твой городской гид.
🤗 Сообщаем заранее!!!
🎶Бесплатный концерт «Императорский полдень»
Каждое воскресенье ровно в полдень в Петербурге оживает старинная музыкальная традиция. В окно Капеллы, выходящее на Дворцовую площадь, появляются музыканты и дарят горожанам и гостям города короткий, но яркий концерт.
Эта традиция берёт начало ещё со времён Петра Великого, когда музыка звучала не только в залах, но и на улицах города, создавая особую атмосферу праздника.
📍 Двор Капеллы, наб. реки Мойки, 20
📆 Ближайшее выступление: 21 сентября в 12:00
🎟 Вход свободный
#капелласпб#императорскийполдень#музыкавпитере#бесплатноконцерт#spbfree#бесплатноспб#культураспб#дворцоваяплощадь
Где провести вечер? Что посмотреть? Все ответы — в Куда сходить в Санкт-Петербурге.
📸Прогулка и фотосессия у Троицкого моста
Троицкий мост — один из самых красивых мостов Петербурга, соединяющий сердце города с Петроградской стороной. Его ажурные фонари и изысканные детали делают прогулку особенно атмосферной.
🌅 Здесь открывается потрясающий вид на Петропавловскую крепость, стрелку Васильевского острова и Дворцовую набережную. Вечером огни моста и отражения в Неве создают волшебную картину, которую хочется сохранить на фото.
💡 Отличное место для романтической прогулки, атмосферной фотосессии или просто неспешного наслаждения красотой города.
📸 andrei_mikhailov
#троицкиймост#мостыспб#фотосессияспб#прогулкиспб#красотыпитера#spbfree#питерфото#питер
Город оживает каждый день — подписывайся на Куда сходить в Санкт-Петербурге и не пропускай главное!
🎨Бесплатная стрит-арт выставка — праздник уличного искусства в галерее!
В галерее «Сегоднязавтра» открылась финальная выставка цикла «Рисунки на стенах», посвящённая теме праздника 🎉
Проект объединяет лучших уличных художников Петербурга, чьи работы давно вышли за рамки улиц и стали частью современного искусства.
В экспозиции — живопись, графика, мозаика, арт-объекты и уникальные произведения из личной коллекции куратора. Выставка показывает, как уличное искусство сохраняет свою энергию и дух свободы, даже попадая в галерейное пространство 🌆
📍 Чкаловский проспект, 60
⏰ Вт–Сб 11:00–19:00, до 10 ноября
💵 Вход свободный
#стритартспб#современноеискусствоспб#бесплатноспб#галереяспб#афишаспб#artspb#spbfree#кудасходитьспб#спббесплатно#гуляембесплатнопитер
Планы на вечер? Они уже ждут тебя в Куда сходить в Санкт-Петербурге.
🎶 Фестиваль «Русский двор» в Петербурге!
13 сентября Муринский парк превратится в пространство народного творчества и фольклорного веселья. На фестивале «Русский двор», который проходит в рамках проекта «Дух времени», гостей ждёт атмосфера старинных традиций и душевного праздника.
✨ В программе:
🪕 Выступления народных вокальных и хореографических коллективов
🎭 Задорные игры и ярмарочные забавы
📸 Фотозона в русском стиле
🎨 Мастер-классы
👘 Этноколлекции
📍 Муринский парк
📆 13 сентября, 12:00–18:00
💸 Вход свободный
#РусскийДвор#ДухВремени#ФестивальСПб#КультураСПб#НародноеТворчество#ФольклорСПб#КудаПойтиСПб#SaintPetersburg#SPBfree
Живи активно: культура, еда, события — всё в одном месте. Куда сходить в Санкт-Петербурге.
🎭«Ночь искусств» в Петербурге — когда город не спит ради культуры!
3 ноября Северная столица вновь присоединится к всероссийской акции «Ночь искусств»💫
⠀
Это особенный вечер, когда музеи, театры, библиотеки и арт-пространства открывают свои двери для всех, кто хочет провести ночь в компании музыки, выставок, спектаклей и мастер-классов.
⠀
Тема этого года — единство культур народов России🇷🇺. Петербуржцев и гостей города ждут десятки бесплатных мероприятий, где искусство объединяет, вдохновляет и дарит новые впечатления.
📍 Музеи, театры и библиотеки по всему Петербургу
📆 3 ноября
🎟️ Вход свободный (по регистрации в некоторых местах)
#ночьискусств#спбсобытия#бесплатноспб#культураспб#питербесплатно#афишаспб#spbfree#spbevent#spbguide#гуляембесплатнопитер
Где провести вечер? Что посмотреть? Все ответы — в Куда сходить в Санкт-Петербурге.