Можно ли в 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
🏠 Ofertas de primavera de Dreame
#dreame
✅ Oferta: descuentos de hasta 380 euros
El comienzo de la Primavera está a la vuelta de la esquina, y desde Dreame quieren que aprovechemos para renovar alguno de nuestros electrodomésticos. Entre robots aspiradores y aspiradores, además de moldeadores de cabello, entre otras cosas, podemos encontrar un abanico realmente amplio en su catálogo. Y lo mejor de todo es que ahora mismo podemos encontrar varios de estos dispositivos en oferta.
Por poner un ejemplo, tenemos un gran descuento en el DREAME L10s Ultra Gen 3 Kit, un robot aspirador y friegasuelos con una potencia de succión de 25.000Pa, que además está repleto de funciones para tener la mejor limpieza autónoma en casa. En el caso de preferir una aspiradora sin cables, la DREAME H15 PRO es otro de los productos en oferta, cuya principal ventaja es que permite incluso aspirar residuos húmedos. Y finalmente, para temas de belleza tenemos opciones como el DREAME AirStule Pro, un moldeador 7 en 1 capaz de secar, dar volumen al cabello y mucho más.
➡️ Rebajas de Primaverahttps://is.gd/iDns0W
➡️DREAME L10s Ultra Gen 3 Kithttps://tinyurl.com/3vjah6ap
➡️DREAME H15 PROhttps://tinyurl.com/bdd5u2ht
➡️DREAME AirStule Prohttps://tinyurl.com/88fy8mu8
📣 Síguenos: @compradiccion
📱Síguenos en TikTok: https://www.tiktok.com/@compradiccion
🌎compradiccion.com
ℹ️ Ofrecido por Dreame
Интересную маркетинговую стратегию выбрал китайский производитель пылесосов Dreame. Преуспев с бытовой техникой, компания решила делать автомобили.
Сейчас в Китае столько произодителей авто, что выделиться сложно. Чтобы не потеряться, Dreame начала копировать дизайн люксовых машин. Сначала Bugatti и Rolls Royce, теперь еще и Bentley.
Это все немного странно, но нельзя отрицать, что о компании заговорили. Ни одного автомобиля еще по факту нет, только концепты, а она уже считается автопроизводителем.
Это ерунда — 👎
Но в этом что-то есть — 🤝
#dreame
КИТАЙСКАЯ ПРЕМИУМ ТЫКВА
Хотел бы поделиться свои опытом недолгого обладания китайским чудом техники и предостеречь вас от проблем, о которых вы, возможно, даже не подозревали. Речь пойдёт о пылесосе фирмы Dreame, который некоторые блогеры на полном серьёзе сравнивают с Dyson как что-то примерно одинаковое. 😂
В рекламе Дайсона меня упрекнуть не получится, потому что пылесосы этой фирмы давно не продаются в РФ официально, соответственно, и платить мне за их рекламу некому. Поэтому буду называть этот бренд открыто. Так вот, проводной пылесос Dyson служит мне верой и правдой уже лет 10 или даже 15, в нём за это время не сломалось вообще НИЧЕГО.
В прошлом году настало время купить беспроводной пылесос, но Дайсона по известным причинам в РФ официально больше нет. Я забрёл в "премиальный" брендовый салон пылесосов Dreame на Новой Риге и был удивлён ассортиментом и видом товаров. Выглядели они не хуже, а то и лучше Dyson. Я решил, что раз Dreame продаётся в РФ официально, то никаких проблем с запчастями не будет. Ну а покупка в брендовом салоне в 1.5 раза дороже, чем в других местах, поможет мне решить любые проблемы, если они возникнут.
Проблемы начались почти сразу. Где-то на 10-15 установку пылесоса на док-станцию, она перестала засасывать пыль в мешок. Чтобы функция заработала снова, приходилось вынимать вилку из розетки и засовывать обратно (видимо, чтобы заклинившие китайские "мозги" пылесоса перезагрузились).
Я отвёз пылесос в фирменный бутик, где его диагностировали почти 40 дней, как покойника, после чего заявили, что он полностью исправен. Естественно, он как был неисправен, так и остался. Поскольку недостаток не самый критичный, я просто плюнул на это и не стал с ними спорить
Дальше перестала работать подсветка пыли на насадке. Сначала при повороте насадки направо, потом совсем перестала работать, а потом и вовсе насадка развалилась на две части. В фирменном магазине меня обрадовали, что гарантия на этот китайский чудо-пылесос 1 год, а у меня прошёл 1 год и 1 месяц, соответственно, я могу идти с ним в пешее эротическое. Никакие мои проблемы они решать не будут, даже несмотря на то, что я купил это чудо-юдо в их фирменном салоне в 1.5 раза дороже (со всеми остальными брендами это избавляло меня от любых проблем, но не с Dreame).
При этом данной насадки у них нет в наличии даже за деньги!!! Единственное, чем они могут мне помочь, это дать ссылку на сайт, где можно заказать такую насадку со сроком доставки... 3 месяца!!! И это при том, что на новейший Dyson, который только вышел в прошлом году и вообще не продаётся в РФ официально, насадки продаются на Авито в огромном количестве в наличии!!!
В общем, придётся отправить этот пылесос туда же, куда и пыль с него - на помойку. Нанимать юриста для суда по пылесосу нецелесообразно дорого, а в проект "Социальный Ярдрей" меня не возьмут. 😂😂😂 Ну а вам мой опыт бесплатно, пользуйтесь - не всегда китайския красивая обёртка соответсвует содержанию.
@dreame_ru#dreame
Top Tech Announcements from CES 2025
🔍CES 2025 Highlights:
1. Roborock & Dreame: New vacuum robots with robotic arms, lifting items up to 500g.
2. Lenovo: Introduced ThinkBook Plus Gen 6 with expandable OLED display, from 14 to 16.7 inches.
3. Nvidia: Launched RTX 50 series, featuring DLSS 4 for significant performance boosts.
4. SwitchBot: Unveils modular robot K20 Plus Pro, combines various home tasks.
5. Razer: Debuted Project Ava, a real-time gaming assistant chat-bot.
6. Dell: Introduced a 32-inch QD-OLED monitor that adapts sound to user's head position.
7. TCL: Showcases Ai Me, a companion robot with interactive features.
8. Based Hardware: Reveals Omi, a wearable device with a neuro-helper powered by GPT-4.
9. Withings: Presents the Omnia smart mirror, integrating health data from wearables.
10. Halliday: Launches smart glasses with real-time translation capabilities.
#CES2025#TechAnnouncements#Robots#AI#Nvidia#Gaming#Wearables#SmartHome#Lenovo#Roborock#Dreame#Razer#Dell#TCL#SmartGlasses#HealthTech#Innovations#Gadgets#VR#ComputerHardware#VC