Можно ли в 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
Хотите начать работать в Битрикс24, но не знаете, как к нему подступиться? Чудо Иван записал для вас отличную инструкцию по первым шагам! Делай раз, делай два😀 Пользуйтесь! Дорогу осилит идущий!
#Битрикс24#Bitrix24
https://youtu.be/UhE6z_PNzVk
🚀 Вебинар: Автоматизация логистики с Bitrix24
📅 Дата: 27 марта 2025 г.
🕒 Время: 19:00
📍 Формат: онлайн в канале https://t.me/Bloglogist
Приглашаем вас на практический вебинар, где мы разберем, как с помощью Bitrix24 оптимизировать логистические процессы, автоматизировать управление грузоперевозками и складскими операциями.
🔍 Что будет на вебинаре:
✅ Основные возможности Bitrix24 для логистики.
✅ Интеграция CRM с логистическими процессами.
✅ Автоматизация уведомлений, маршрутов и заказов.
✅ Управление клиентами и аналитика в Bitrix24.
✅ Примеры из практики и ответы на ваши вопросы.
🌟 Спикеры:
- Николай Юдинских: эксперт в области грузоперевозок и логистики.
- Артем Иващенко: специалист по внедрению Bitrix24 с нуля до сложных интеграций.
👥 Для кого:
- Владельцы логистических компаний.
- Менеджеры по логистике и складу.
- IT-специалисты и все, кто хочет автоматизировать бизнес-процессы.
Не упустите шанс узнать, как сделать вашу логистику эффективнее с Bitrix24!
🎁 P.S. Участники вебинара получат полезные материалы и чек-листы по автоматизации процессов.
#Логистика#Bitrix24#Автоматизация#Вебинар#CRM
В современном мире всё меньше становится видов работ, которые нельзя было бы автоматизировать. С одной стороны, нет ничего лучше живого общения и звонка от своего личного менеджера с вопросом: «Как ваши дела?». Мы помним эти времена, когда это было заложено в головах менеджеров, а не в задачах CRM. Но о преимуществах внедрения CRM спорить бессмысленно, поэтому даже самые консервативные компании продолжают обращаться за внедрением, наш кейс как раз об этом. Продолжаем упрощать сложное и не усложнять простое.
#Битрикс24#Bitrix24#CRM#методсоли
https://blog.saltpro.ru/Solim-zapravlyaem-i-zapuskaem-CRM-Bitriks24-v-optovoj-kompanii/
🧐 Как уже пятница?
А где традиционный мем от Соли?
А вот же он) Друзья, давайте вместе улыбнёмся наступающим выходным 😄
#Битрикс24#Bitrix24#Битрикс#Bitrix#CRM#методСоли#мемсоль
💥 Пятничный мем врывается в чатик!
С последним рабочим днём недели друзья) Солнечных вам выходных 🌞
#Битрикс24#Bitrix24#Битрикс#Bitrix#CRM#методСоли#мемсоль
💼 Зачастую работа менеджеров состоит в обработке поступивших заявок, но если заказ от постоянного клиента не пришёл, про него могут и забыть.
🤝 Наше "Приложение Автоматическое создание сделок по потерянным клиентам" вынуждает менеджера работать с постоянными клиентами, так как создаёт в CRM новые сделки по контактам, компаниям, чья регулярность заказов "страдает".
⚙ Своевременно реагируйте на сбои в заказах и не упускайте клиентов. А если у вас пока нет постоянных клиентов, с нашим приложением они обязательно появятся!
Подробнее о работе незаменимого помощника рассказываем в нашей инструкции.👇🏻
https://blog.saltpro.ru/~comeback
#Битрикс24#Bitrix24#Битрикс#Bitrix#CRM#ЗапускCRM#ВнедрениеCRM
🏚 Процедура бронирования квартир в новостройках достаточна проста. Выбрал, позвонил, забронировал, - вуаля!
🧐 А как устроен процесс изнутри в связке CRM Битрикс24 и сайта заказчика, посмотрим сегодня в кейсе.
https://clck.ru/ae4C8
#Битрикс24#Bitrix24#Битрикс#Bitrix#CRM#ЗапускCRM#ВнедрениеCRM
💡Порция полезных материалов, а именно – кейс!
Тема: «Jira и Битрик24». Как совместить, зачем, в чём польза?
👍Читайте, будет интересно!
https://blog.saltpro.ru/~JiraIntBitrix
Есть вопросы? Напишите нам – будем рады ответить.
#Битрикс24#Bitrix24#Битрикс#Bitrix#CRM#ЗапускCRM#ВнедрениеCRM
🤝 Командная работа эффективнее, чем работа в одиночку, поэтому слаженно работающий коллектив – мечта работодателя.
💥 Сегодня разберём, кейс про работу бизнес-процессов, которые помогают выстроить процесс сообщений-напоминаний в командной работе любого отдела.
📢 Читайте, будет интересно! https://blog.saltpro.ru/~reminders
#Битрикс24#Bitrix24#Битрикс#Bitrix#CRM#ЗапускCRM#ВнедрениеCRM
🌐 Если у вас есть сайт на 1С-Битрикс и коробочный Битрикс24 и при этом наблюдаются проблемы с авторизацией пользователей, работой чатов и приложений, то, возможно, наша статья вам поможет.
😁 Читайте, наша техническая поддержка уверяет, что будет интересно.
https://blog.saltpro.ru/~cookies
#Битрикс24#Bitrix24#Битрикс#Bitrix#CRM#ЗапускCRM#ВнедрениеCRM