Можно ли в 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
Дизайнеры, исследователи и project manager'ы — это специалисты, которые востребованы сегодня и точно будут нужны бизнесу завтра. Изучайте эти профессии с помощью наших коротких, понятных и доступных микрокурсов по направлениям:
🔹 цифровой дизайн;
🔹 исследования и проектирование;
🔹 управление проектами.
Сейчас на все микрокурсы действует скидка 50% 🚀 Наши информативные уроки помогут быстро овладеть нужными навыками! Узнать подробности и купить курс: https://courses.aic.ru
#aic
У нас новости: мы ищем инициативного, творческого и влюбленного в свое дело арт-директора! 🎨✨
Мы предлагаем:
- управлять дизайн-командой юнита;
- работать над проектами для узнаваемых клиентов из самых разных отраслей;
- настраивать и совершенствовать командные дизайн-процессы;
- делиться экспертизой с коллегами из индустрии через PR-активности (по желанию!)
А какой он — кандидат мечты?
- умеет взаимодействовать с командой клиента и презентовать результаты работы;
- знает, как вовлекать и вдохновлять коллег;
- обладает навыками планирования — как своего времени, так и задач команды;
- совершенствует структурное мышление, анализирует информацию и аргументирует свои решения;
- имеет опыт работы в роли ведущего дизайнера или арт-директора — особенно в рамках агентства.
Условия:
- достойная заработная плата — озвучим по результатам собеседования;
- комфортный современный офис в центре Москвы;
- дружная команда — мы общаемся открыто и без официоза, работаем без дресс-кода и гордимся корпоративной культурой;
- развитие сотрудников внутри компании: оплачиваем курсы и профильные конференции, помогаем находить точки роста в карьере.
Это про вас или вы знаете кого-то, кто идеально подходит для этой позиции? Покажите пост своим друзьям 🙌
Ждем CV на почту [email protected] или отклик на нашем сайте в разделе «Вакансии».
#aic
Пора планировать дела на неделю, и у нас есть полезная рекомендация — зарегистрироваться на вебинар по созданию отчетов, который мы проведем в среду.
Вести вебинар будет Сергей Горбунов, ux-исследователь aic.
Вы узнаете:
🟣 что такое исследовательский отчет и что он в себя включает;
⚫️ как понятно визуализировать данные исследования;
🟣 как создать удобный шаблон для описания результатов исследований вашей команды.
Регистрация заканчивается сегодня, поэтому не откладывайте ее в долгий ящик:
http://webinar.aic.ru/
Увидимся на вебинаре!
#aic
Приглашаем на aic.hub 22 февраля по теме: «Новый цифровой опыт в промышленности». Участие бесплатно, но обязательна регистрация —> https://clck.ru/ausMP
aic.hub.industry — конференция на стыке бизнес-митапа и неформальной встречи по теме промышленности c ведущими специалистами рынка.
Три причины зарегистрироваться:
✅ пять интересных докладов о диджитализации индустрии;
✅ возможность задать вопросы экспертам;
✅ офлайн-формат — живое, неформальное общение и обмен опытом.
Спикеры мероприятия:
Татьяна Кондратьева, Северсталь
Никита Токарев, НЛМК
Александр Заносиенко, Норникель
Анастасия Наджиева, FANUK
Антон Акимов, JSC Cordiant
Целевая аудитория:
— директора по маркетингу, маркетинговым коммуникациям и pr; — директора по цифровой трансформации;
— директора по цифровым продуктам;
— директора по развитию бизнеса
Для участия нужно зарегистрироваться по ссылке ⏩https://clck.ru/ausMP
Поспешите — количество мест ограничено!
⏰ 22 февраля, 11:00-14:00
📍 Москва, ул. Большая Новодмитровская д. 36, ст. 2, дизайн-завод «Флакон»
#aic
Друзья, этим постом точно нужно поделиться с коллегами и друзьями 😎 Ведь в нем мы рады анонсировать наш новый #aic.hub на тему «Как быстро решать задачи банков при помощи сессии со-творчества».
Что такое хаб? 🧐
Это онлайн-конференция нового формата для экспертов отрасли с целью обмена опытом и образования профессионального комьюнити 😎
Когда? ⏱
28 июля, 18:00-20:00
Внимание: мероприятие пройдет онлайн! 🧑💻
Что будет?
✅ Вы узнаете, что такое методология со-творчества и как ее применять в финтехе
✅ Расскажем, чем генеративные сессии отличаются от брейнштормов и дизайн-спринтов
✅ Поделимся реальными кейсами и инсайтами
Спикеры:
🟦 Василий Ефанов, аккаунт-директор aic
⬜️ Артемий Круглов, глава инновационной студии Visa
⬛️ Герман Кухтенков, управляющий партнер школы IKRA
🟧 Илья Кузнецов, cpo digital innovations Альфа Банк
Регистрация по ссылке: http://banking.aichub.ru
⚡️swap.coffee: $AIC Cashback Campaign Extended!
#AIC#TON
swap.coffee announces the extension of the $AIC token campaign in its cashback system, allowing users to continue benefiting from swaps and bonuses. $AIC is part of the TON ecosystem, rewarding users for providing liquidity to pools. Over 92% of $AIC coins are locked, ensuring a stable and unique project.
Source: link
@tonlines
На прошлой неделе мы провели восхитительный корпоративный день за городом! Было здорово просто побыть вместе, окунуться в атмосферу непринужденного общения и отличного настроения
К слову, это наш финальный праздник в цифре 24. А это значит, что следующий корпоратив, который будет уже осенью, будет главным событием под тегом #aic25!
Компания отметит свои 25 лет, и мы можем лишь представить, насколько масштабным и ярким будет это событие! Угадайте, что же мы приготовим для вас, наших подписчиков, в честь дня рождения aic? Например, одна из активностей — конференция.
Сюрприз: первый, кто угадает тему конференции, получит уникальную футболку с нашим логотипом в сентябре.
Stay tuned! Больше удивительных моментов нас ждет впереди!
#aic
В этом году aic исполняется 25 лет! Торт и свечи мы еще не выбрали, зато выбрали хэштег #aic25 — под ним будем делиться всеми праздничными новостями 🎉
Сегодня вернемся в архив к главной папке с надписью «Начало». Отправная точка — 1998 год: тогда Антон Виноградов и Сергей Попков начали помогать первым клиентам с дизайном и версткой сайтов. Кстати, по одной из версий название aic произошло от первых букв имен Антона и Сергея.
День рождения — классный повод, чтобы рассказать больше о нашей истории и команде. Что бы вы хотели узнать про aic? Учтем ваши вопросы и ответим на них в следующих постах под нашим именинным хэштегом 🎂
#aic25#aic
Небольшие изменения в расписании: следующий aic.hub пройдёт 15 июня в 19:00.
Для вас это означает только одно — ещё есть время, чтобы зарегистрироваться! 😄
Тема мероприятия: «Новые сценарии пользователей в банковском секторе». Обсудим изменения вместе с приглашёнными экспертами из Сбербанка и Альфа Банка 🌟
Вы узнаете:
🟢 как изменился клиентский опыт после удаления приложений из appstore и google store;
⚫️ что делать разработчикам сейчас;
🟢 как обучить сотрудников новым компетенциям.
Для участия необходимо зарегистрироваться: https://hub.aic.ru/finance
#aic#aichub
Кто-то не представляет себе Новый год без селёдки под шубой и мандаринов, а кто-то предпочитает встречать праздник в пижаме и чашкой какао. Мы узнали у наших коллег, что для них является необходимым атрибутом 31 декабря! 🎄
А как бы на этот вопрос ответили вы? 😎
P.S. И да, всех с наступающим Новым годом! 🎉🥳 Желаем вам отдохнуть, отдохнуть и ещё раз отдохнуть на каникулах 🖤
#aic#aicподборка
Друзья, мы хотим, чтобы наши посты были вам интересны и полезны. Поэтому нам нужен ваш фидбек!
Напишите в комментариях, что вы хотели бы видеть ещё в наших соцсетях? Подборки, интервью, анонсы мероприятий, кейсы, вакансии? Есть ли что-то, чего не хватает?
Если есть какие-то конкретные темы, будем рады их узнать! Пишите, будем работать 🖤
#aic#aicопрос
Мы проводим новое исследование, посвященное клиентскому опыту в сфере финансов. И нам нужна помощь всех, кто пользуется услугами российских банков.
Пожалуйста, ответьте на несколько вопросов в анкете по ссылке.
Знакомым и друзьям пересылать обязательно! Чем больше участников, тем больше наша признательность 🖤
#aic#aicопрос