Можно ли в 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
Дорогие наши #pupalovers!
Пусть Новый год будет таким же ярким, как тени Vamp! Extreme, таким же стойким, как наша тушь Vamp! Mascara Lash Extender, и таким же ослепительным, как хайлайтер Wonder Me Glow 🌟
Желаем, чтобы каждый день 2026 года был наполнен магией, смелыми экспериментами и бесконечным сиянием.
Загадывайте самые смелые желания — и пусть они сбываются с помощью волшебной кисти!
С любовью, ваша PUPA MILANO ❤️ С Наступающим!
В Москве состоялось вручение наград премииЯПокупаю Beauty 2025.
Наградыполучили лучшие косметические средства, которые выбрали читатели, эксперты и редакция.
В категории Лучшее Тональное средство по версии читателей победу одержал Крем-флюид Wonder Me Nude PUPA Milano.
О ПОБЕДИТЕЛЕ 🏆
Тон-флюид Wonder Me Nude обладает легкой и невесомой текстурой, создавая эффект второй кожи, невидимый и неощутимый. Поры и несовершенства мгновенно уменьшаются, рельеф кожи становится более выровненным и гладким.
Мы благодарны всем #pupalovers за доверие, выбор и голоса! ❤️❤️❤️
НАША С ВАМИ ПОБЕДА 🏆
Завершилась премияЯПокупаю Beauty 2025: косметика, которую выбрали читатели, эксперты и редакция.
В категории Лучшее Тональное средство по версии читателей победу одержал Крем-флюид Wonder Me Nude PUPA Milano.
Мы благодарны всем #pupalovers за доверие, выбор и голоса! ❤️❤️❤️
Еще одна гостья девичника в рамках премии VOICE INFLUENCER AWARDS💔
Выбор Анны Седаковой — пудра Wonder Me и карандаши для губ True Lips от PUPA MILANO. Спасибо за доверие!
А выбор алого платья разбил сердца всех #pupalovers❤️🔥
Дорогие #pupalovers!
С Международным женским днем! В этот прекрасный весенний день мы от всего сердца поздравляем всех вас с праздником!
Мы в Pupa верим, что каждая женщина — это произведение искусства, и наша задача — помочь вам раскрыть вашу красоту и сияние!
Наша декоративная косметика создана с любовью и вниманием, чтобы подчеркнуть вашу утонченность и добавить ярких красок в каждый день. Будь то нежный нюд на работу или яркий вечерний образ — мы всегда рядом, чтобы поддержать вас в любом настроении и стремлении.
С любовью,
Команда Pupa Milano ❤️
Бьюти-завтрак в честь туши VAMP! LASH EXTENDER, которая собрала всех друзей бренда, истинных #pupalovers в ресторане Savva.
Давайте еще раз посмотрим, как это было.
Ставьте 💝💘💖💗💓💞💕, если вам понравилось!
БЬЮТИ-ЗАВТРАК PUPA MILANO 💖
На этой неделе в ресторане Savva состоялся бьюти-завтрак в кругу друзей бренда PUPA MILANO. Мы благодарим всех #pupalovers, которые были с нами в этот день!
Дресс-код мероприятия Touch of Fuchsia в честь нашей культовой туши VAMP! LASH EXTENDER, которая дарит3D удлинение и объем ресниц.
А вы знакомы с Vamp! Lash Extender?
Бархатный и роскошный… это итальянский Новый год с @pupamilanorussia!❤️
Посмотрите, какие великолепные подарочные наборы в вельветовых косметичках вышли у PUPA MILANO😍
И их так много разных! Можно выбрать идеальную комбинацию для себя или в подарок: любимый цвет, удобную модель сумочки, и главное - самые милые сердцу средства от PUPA MILANO!
Найти такие наборы можно в РИВ ГОШ:
❤️бордовая косметичка с тушью VAMP! LASH EXTENDER и подводкой лайнером VAMP! SKINNY LINER;
🩵небесно-голубая – с тушью VAMP! ALL IN ONE и MULTIPLAY карандашом для тройного использования: подводка – кайал – тени для век.
Наслаждайтесь шикарным и стильным итальянским Новым годом вместе с @pupamilanorussia
#pupamilanorussia#pupalovers
*реклама
Все ведь знают, что если не забывать защищать кожу от солнца даже в условиях города, то можно замедлить старение и улучшить качество кожи?
У Pupa вышла широкая солнцезащитная линейка с комфортными средствами для защиты от UVA и UVB лучей.
Мой фаворит — флюид Daily Defender с оттенком и без, о котором я подробнее рассказала в видео. Он заменяет мне базу под макияж или легкий тон на каждый день, и при этом дает необходимую защиту SPF 50.
А также самый удобный формат стика SPF 50, который легко закинуть даже в самую маленькую сумочку и обновлять защиту в течение дня.
Познакомиться с солнцезащитной линейкой @pupamilanorussia можно в РИВ ГОШ по ссылке☀️
#pupamilanorussia#pupalovers
Отпуск прошел, но про спф я еще не рассказывала, а обычно я именно в отпуске тестирую всякие новиночки ☀️
Так вот, в этот раз я взяла с собой почти всю линейку SPF от итальянского бренда @pupamilanorussia и, спойлер: не обгорела, довольно неплохо подзагорела (прям хорошо я не загораю никогда, я белокожая, но вот обгораю в 9 из 10 случаев, правда не в этот раз)
Что имею сказать:
Первое и самое главное — мне очень понравилось!!! От упаковки до запаха (он отвал всего), очень хорошая защита, намазаны были все: я, Пирог, Эля и все обошлись без ожогов 🤌🏻
Для лица я использовала крем Daily Defender и стиком обновляла в течение дня! Очень легкие текстуры, очень хорошо ложатся (крем супер даже под легкий макияж!), так что я планирую их же домазывать в городе этим летом ❤️
Для тела мы попробовали все — молочко с SPF 50, спрей SPF 50 (восторг!!!!!), крем SPF 30 и двухфазный спрей SPF 30 🦦
Без преувеличений, мы мазались прям всем и не было ни одного продукта, который бы не понравился. Но отдельно я конечно отмечу спрей, потому что использовать его максимально легко, защищает отлично, хватает надолго и он особенно полюбился ребенку, который ненавидит на себе ощущения кремов и не любит чем-то мазаться))
Но лично я спреем обычно обновлялась, а начинала день с чего-то более кремового, крема или молочка
На пляже классно использовать спрей — усилитель загара, это средство с технологией Melastim Tech для стимулирования выработки меланина, он не содержит SPF, но дополнительно удаляет морскую соль и предотвращает сухость, а после моря — молочко после солнца, которое также усиливает загар, но еще успокаивает и увлажняет кожу
Мне кажется на видео довольно наглядно видно, как от начала к концу я становилась все более шоколадная)))) и это всего лишь первые дня 4 🙃
В общем, я точно буду повторять эту линейку этим летом, и с огромным удовольствием советую попробовать вам, представлена она в РИВ ГОШ ❤️
Целую ваши плечи и надеюсь, этим летом они будут под надежной SPF защитой 💅
#pupamilanorussia#pupalovers