Можно ли в 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
@Regrambot
Qué puede hacer este bot?
Este bot te permite darle seguimiento a una cuenta de instagram y descargar su contenido
Idioma: Múltiple
(visto en @BotsGram_cu)
#insta, #instagram, #social, #inline
💀💀💀💀 (FB/Insta) запустили аккаунты с цифровыми #AI аватарами популярных инфлюенсеров/селебов (каждый из которых продал свое лицо за $5M) для 🌐 Facebook и 🌐 Instagram.
Многие ленивые #insta блохеры мечтают заменить себя на #chatGPT и чилить на Бали, но как мы видим крупные корпорации первыми решили заработать на этом, а может даже полностью монополизировать эту нишу.
Смысл продукта прост: ты можешь пообщаться со своей любимой звездой в #instagram или #facebook. Как обещает Meta - общение максимально приближенно к реальному персонажу. Для соц.сетей решается больной вопрос ретеншена и энгейджмента, а для инста-юзера открывается новый дивный мир общения с ИИ с фоткой твоего кумира.
Как это реализуется:
- берутся диалоги/переписки/посты инфлюенсера и делается файн тюнинг модели ИИ
- meta использует свою opensource модель LLAMA 2, которую можно запустить даже у себя на компе оффлайн
- если немного посидеть над кодингом, то такой ИИ-аватар/чат-бота можно уже сделать и для вашей инсты и для телеграм (и под разные бизнес и персональнык задачи).
Ссылки на доступные ИИ-аккаунты можно найти тут, но чаты доступны пока только для полосато-звездного флага.
Романтический рок — необычный и очень красивый жанр музыкального воспроизведения, в котором далеко не каждый способен искренне выразить всю богатую палитру нот. Необычные и очень красивые стихи в исполнении харизматичного эрудированного и выдающегося автора-исполнителя российского шоу-бизнеса. Мелодии и ритмы создают торжество в душе, а стихи и слова наполняют приятными и разными чувствами. Павел Кашин — легенда жанра, выступит с сольным концертом на сцене MT music bar 17 октября
Билеты: здесь
⌚️24/7
📍Новый Арбат, 15
📲+79773541515
#афишамосква#москва#арбат#новыйарбат#мумийтролльбар#мтбар#мтмосква#мумийтролль#mtbar#music#moscow#arbat#insta
3 июля свой день рождения Michael Blayze отметит в МТ Music Bar грандиозным концертом под живую музыку, на котором он исполнит хиты легендарных исполнителей: Ne-Yo, Chris Brown, Usher, James Brown, 50 Cent, Ceelo и др, а также совместно со своими музыкантами презентует свой долгожданный EP-album «Сильней». Michael Blayze – россиянин с нигерийскими корнями, участник телепроектов «Голос на первом канале», «Голос Украины», «Новая волна», «Ну-ка все вместе». Мегахаризматичный и талантливый артист мирового масштаба, обладатель уникального тембра голоса. Его выступления поражают своей мощью и бесподобным мастерством. Композитор, автор и исполнитель песен на различных языках, в том числе и на русском!
▪️ Встречаемся в МТ ~ 03.07
▪️ Сбор гостей ~ 20:00
⌚️24/7
📍Новый Арбат, 15
📲+79773541515
#афишамосква#москва#арбат#новыйарбат#мумийтролльбар#мтбар#мтмосква#мумийтролль#mtbar#music#moscow#arbat#insta#instamoscow
ВСТРЕЧАЙТЕ ГРУППУ ГОРОД 312
ОНИ СНОВА НА СЦЕНЕ , СНОВА СО СВОИМИ ЛЮБИМЫМИ ПОКЛОННИКАМИ
😌
😉
😌
😉
😌
Из соцсетей и новостных изданий многим уже известно, что «Город 312, спустя год, возобновляет свою творческую и концертную деятельность. Такая длительная пауза была связана с болезнью солистки (осложнения возникли после коронавируса). Пока наша любимая Ая (Светлана Назаренко) продолжает восстанавливать здоровье, петь в коллективе будет Диана Макарова. Решение совместное, Ая уже выступила с заявлением по этому поводу. В конце марта мы представим сингл «Радость». Это дуэтная композиция.
Репетируем, готовим новый альбом к выходу в свет.
В программе все самые лучшие и известные песни нашего коллектива и новые произведения.
• состав Город 312 :
Дмитрий Притула — клавиши , вокал
Диана Макарова — вокал
Мария Притула — гитара
Леонид Притула — басс гитара
Александр Климович — барабаны
🎫 Билеты: купить▫️▫️▫️▫️▫️
⌚️24/7
📍Новый Арбат, 15
📲+79773541515
📱Instagram
#афишамосква#москва#арбат#новыйарбат#мумийтролльбар#мтбар#мтмосква#мумийтролль#mtbar#music#moscow#arbat#insta#instamoscow
Зажигательная группа «Jazzøver» – это сразу семь поющих и играющих красоток на сцене, которые своим насыщенным звучанием безоговорочно создадут для вас летнее настроение!
Только самые яркие хиты, любимые песни и драйвовые танцы!
Приходи, такое нельзя пропустить — 8 июня в MT music bar!
🔴
🎫Билеты: купить▫️▫️▫️▫️▫️
⌚️24/7
📍Новый Арбат, 15
📲+79773541515
📱Instagram
#афишамосква#москва#арбат#новыйарбат#мумийтролльбар#мтбар#мтмосква#мумийтролль#mtbar#music#moscow#arbat#insta#instamoscow
Хотим напомнить! 😍
Воскресенье ~ четверг с 16:00 до 20:00 предлагаем гастрономическое удовольствие от шеф-повара, состоящее и 4-х блюд, а к сету можно заказать бокал вина за 400₽.
⌚️24/7
📍Новый Арбат, 15
📲+79773541515
#афишамосква#москва#арбат#новыйарбат#мумийтролльбар#мтбар#мтмосква#мумийтролль#mtbar#music#moscow#arbat#insta#setmenu
Хотим напомнить! 😍
С воскресенья по четверг с 16:00 до 20:00 предлагаем гастрономическое удовольствие от шеф-повара, состоящее и 4-х блюд, а к сету можно заказать бокал вина за 400₽.
⌚️24/7
📍Новый Арбат, 15
📲+79773541515
#афишамосква#москва#арбат#новыйарбат#мумийтролльбар#мтбар#мтмосква#мумийтролль#mtbar#music#moscow#arbat#insta#setmenu