Можно ли в 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
Хэй гайз!
Большинство из вас проголосовало за обзор шоурумаCassina в Милане. Это один из самых значимых итальянских дизайн брендов.
Уже более 90 лет Кассина занимается мебельным ремеслом. Начинали они с производства столярки и кофейных столиков ☕ А в 1950-х годах сделали значимый переход от ремесленного производства к массовому и запустили промышленный дизайн в Италии 💪
Компания работает с такими A-list дизайнерами, как Филлип Старк, Пьеро Лиссони, Патриция Уркиола 🥇 А так же известна тем, что производит иконы великих мастеров модерна.
Кассина сочетает в себе технологии и многолетнее мастерство ремесленников. Кстати, именно они первые экспортировали италиан фёрничер в сша. С тех пор отметка #madeInItaly ассоциируется с качественным, модным и КРАСИВЫМ дизайном.
Креативность. Подлинность. История. Страсть. Честность. Отвага. Инновация. Это главные ценности компании. Советую посмотреть мини видео про них. Там картинки всех культовых дизайнов и веселая музыка))
#милан#дизайн#шоурум#milandesignweek
😎 LASH BOSS 😎 ЗДЕСЬ?
Стойте-ка, сейчас появится та самая, которая перевернет мир...
Ах, вот и она! Тушь VAMP! LASH EXTENDER!
🔥 Непревзойденный объем
🔥 Бесконечно длинные ресницы
🔥 Насыщенный черный
Как сильно вы хотите ее попробовать от 1 до 10? А кто уже?
#pupamilano#madeinitaly#vamplashextender#vampmascara
Пришло время обновить ваши ресницы
➡️
➡️
➡️VAMP! LASH EXTENDER
Тушь, которая формирует и приподнимает ваши ресницы в измерении 3D!
Отметьте вашу лучшую подругу, которой она тоже очень нужна!
#pupamilano#madeinitaly#vamplashextender#vampmascara
РУКОВОДСТВО ПО УХОДУ ЗА КОЖЕЙ ➡️ ANTI AGE
Следуйте нашим советам для достижения наилучшего результата!
ЦЕЛЬ: работа над разглаживанием морщин, тонусом и эластичностью кожи 💪
Нанесите на очищенную кожу серум ELASTIN SHOTS и крем TIMELESS PLUS, чтобы противодействовать признакам старения каждый день 😉
⚠️ Используйте уход NO AGE на коже вокруг глаз, нежно массируя для полного впитывания ⚠️
Отметьте вашу лучшую подругу, которая обязательно должна попробовать эти супер новинки!
#pupamilano#madeinitaly#skincare#pupapositivepeopleandplanet
УДЕЛИТЕ ВРЕМЯ, ЧТОБЫ СДЕЛАТЬ КОЖУ СЧАСТЛИВОЙ
💆🏻💆🏻💆🏻
Давайте вместе сделаем легкую зарядку для вашего лица!
Следуйте схеме, чтобы улучшить контуры лица и зарядиться хорошим настроением с утра 😉
🎵 С фоновой музыкой это будет намного веселее! Включите звук на этом видео и повторяйте последовательность действий 🎵
👉 Сохраните этот пост, чтобы тренироваться в любое время 💪
#pupamilano#madeinitaly#skincare#pupapositivepeopleandplanet
РУКОВОДСТВО ПО УХОДУ ЗА КОЖЕЙ 🧾
➡️УВЛАЖНЕНИЕ
Следуйте нашим рекомендациям для достижения наилучшего результата!
ЦЕЛЬ: глубокое увлажнение лица 💪
⚠️ Нанесите NO STRESS на область вокруг глаз, нежно массируя кожу с легким надавливанием.
⚠️ Воспользуйтесь увлажняющим действием гиалуроновой кислоты HYALU SHOTS, нанеся 3-4 капли сыворотки.
⚠️ Нанесите крем SKIN REHAB Prebiotic Moisturizing Cream для предотвращения старения кожи.
#pupamilano#madeinitaly#skincare#pupapositivepeopleandplanet
РУКОВОДСТВО ПО УХОДУ ЗА КОЖЕЙ ➡️ ДВОЙНОЕ ОЧИЩЕНИЕ
О чем мы говорим?
Двойное очищение — самый эффективный способ тщательно очистить кожу и избавить поры от загрязнений и макияжа, даже стойкого.
ЧТО ВАМ ПОНАДОБИТСЯ:
⚠️MOUSSE ME SOFTLY — очищающее средство текстуры мусса.
⚠️WAND ERASER — очищающее средство текстуры масло.
Мы готовы, а вы?
#pupamilano#madeinitaly#skincare#pupapositivepeopleandplanet
🇺🇿🇮🇹Ташкент встречает День Итальянского Дизайна – 2025!
☝Сегодня в Ташкенте состоялось знаковое событие – День Итальянского Дизайна – 2025, объединяющий традиции, инновации и креативность двух великих культур.
Посол Италии в Узбекистане Пьер Габриэль, а также другие представители итальянского и узбекского культурного сообщества приняли участие в этом мероприятии, подчеркивая глубину и силу узбекско-итальянского сотрудничества.
✨ Дизайн как мост между традициями и будущим
Итальянский дизайн всегда был больше, чем просто эстетика – это образ жизни, в котором элегантность сочетается с функциональностью, а инновации черпаются из наследия прошлого. Именно эта философия объединяет Италию и Узбекистан, страны, которые веками обменивались культурными, ремесленными и художественными традициями.
🔹 В знак уважения к узбекской культуре и ее выдающемуся ремесленному мастерству в рамках мероприятия состоялся уникальный показ: итальянские дизайнеры представили модели, созданные из узбекских тканей ручной работы. Это яркий пример того, как наследие древних мастеров находит свое отражение в современной высокой моде.
⚡Сегодняшний день стал не только торжеством эстетики, но и важным шагом на пути к укреплению узбекско-итальянского культурного сотрудничества. Эта встреча – символ того, что искусство и дизайн способны стирает границы и объединять народы.
Grazie, Uzbekistan! 🤍💙💚 Benvenuta, Italia! ❤️🤍💚
#ИтальянскийДизайн2025#UzbekistanItalia#КреативностьБезГраниц#MadeInItaly#УзбекскиеТрадиции
@bahodir_schastlivchik
ДОБРО ПОЖАЛОВАТЬ В TEDDYLAND 🐻
Согревающие ароматы, чувственные текстуры, интригующие сочетания.
Что еще можно пожелать от ухода? Ах да, милейшие пушистые косметички в подарок! 😎
Все подруги будут в восторге от таких подарков! А вы?
#pupamilano#madeinitaly#teddyland#pupaxmas#bathandbody
НОВАЯ НЕДЕЛЯ И НОВАЯ ПОРЦИЯ НОВИНОК 🧸
Нежнее нежного, мягче мягкого, пушистее пушистого!
Средства, о которым мы с вами давно мечтали, самые сладкие новинки для тела в коллекции TEDDYLAND!
🧸 теплые приятные ароматы
🧸 чувственные текстуры
🧸 невероятные эмоции при нанесении.
Хотите попробовать наши плюшевые новинки для тела? 🐻🐻🐻
#pupamilano#madeinitaly#teddyland#pupaxmas#bathandbody
ТРОПИКИ УЖЕ ЗДЕСЬ 🔥
Декабрь мчится, елки кругом, снегом всё замело, но в душе у нас цветут экзотические цветы и щебечут тропические птицы. Как так?
Наслаждайтесь с нами побегом в волшебные страны с палеткой PUPA PARROT
🦜 Уникальная палитра оттенков для нескучного макияжа глаз 🦜
Готовы на бьюти-эксперименты с нашими пташками?
#pupamilano#madeinitaly#pupaparrot#pupaxmas#unboxinghappines