Можно ли в 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
#Atlas bayrami
📌 2018-yilda Marg‘ilonda “Atlas bayrami” festivali o‘tkazilgan
⚡️2018-yil 11–15-sentabr kunlari Marg‘ilon shahrida an’anaviy to‘qimachilik festivali — “Atlas bayrami” bo‘lib o‘tdi. Festivalda Xitoy, Ispaniya, Indoneziya, AQSH, Fransiya, Madagaskar, Mongoliya, Tojikiston, Qozog‘iston, Qirg‘iziston va Rossiya kabi 10 dan ortiq davlatlardan mehmonlar ishtirok etdi.
🎓 Festival doirasida Marg‘ilon Hunarmandchilikni rivojlantirish markaziga UNESCO nomoddiy madaniy merosni muhofaza qilish bo‘yicha ilg‘or amaliyotlar reyestriga kiritilganligi haqida sertifikat topshirildi.
📊2018-yil 11–13-sentabr kunlari yosh hunarmandlar va dizaynerlar uchun:
✅an’anaviy kashtachilik,
✅kigizchilik san’ati,
✅milliy matolar asosida kiyim dizayni,
✅hunarmandchilik tadbirkorligi yo‘nalishlarida treninglar tashkil etildi.
📊Unda 60 ga yaqin yosh hunarmand va dizaynerlar qatnashdi.
📊Festival dasturidan:
1️⃣yosh dizaynerlar kolleksiyasining defile namoyishi,
2️⃣“Buyuk ipak yo‘li: an’analarni davom ettirib…” nomli an’anaviy to‘qimachilik ko‘rgazmasi,
3️⃣xalq sayillari va konsert dasturlari,
4️⃣askiyachilar, kurashchilar va dorbozlar chiqishlari,
5️⃣qo‘g‘irchoq tomoshalari,
6️⃣“Hunarmandlar shaharchasi” yarmarkasi o‘rin oldi.
🇺🇿Festivalning asosiy maqsadi — milliy hunarmandchilik an’analarini asrab-avaylash, uni targ‘ib qilish va kelajak avlodga yetkazish, shuningdek yoshlar hamda xotin-qizlarni hunarmandchilik sohasida qo‘llab-quvvatlashdan iborat.
✅Faсebook|
✅Instagram
✅Youtube |
✅Murojaat yo'llash
波士顿动力 Atlas 人形机器人秀后空翻差点摔倒,手部保护罩被甩飞
波士顿动力在 CES 展示新一代 Atlas,人形机器人成功完成后空翻但落地时短暂失衡。机器人为保持平衡剧烈挥动手臂,导致手部保护罩被甩飞。尽管后空翻在工厂无实际用途,但仍被视为展示其灵巧性的重要动作。
标签:#atlas
Created by RocM
官方频道:@rocCHL
官方群组:@roctech
官方合作:@rocmmbot
😂Ну что, можешь меня поздравить — купил себе новенький Mac на M4 Max и установил свеженький Atlas. Будем тестить!
Где взял расскажу в скором времени, считай будет реклама, но с личной рекомендацией
#atlas | AcidCrunch
OpenAI выпустил сегодня браузер #Atlas
От браузера там нет практически ничего, только Home страница теперь chatgpt com. Зачем они на это время и деньги только тратят 😅
🦾 Boston Dynamics показали впечатляющее видео своего робота.
Atlas получает изображение с камеры, данные о положении тела и текстовую команду. На основе этого модель генерирует плавные движения всего корпуса 30 раз в секунду.
Это не набор хрупких скриптов, а система, которая сама «думает», как выйти из ситуации.
Вместо того чтобы «прыгать» от точки к точке, система сразу строит короткую последовательность действий — примерно на полторы секунды вперёд.
Часть из них выполняется, а потом план обновляется, чтобы движения оставались точными и естественными.
Робот показывает, что может работать в реальном бардаке, где всё падает, двигается и мешает работе.
@ai_machinelearning_big_data
#ai#robots#BostonDynamics#atlas
#BostonDynamics#Humanoids#Atlas
В начале января на CES 2026 Boston Dynamics показала новую коммерческую версию робота Atlas (писал об этом здесь). Поскольку исследовательская версия уходит на пенсию, компания показала ролик, где предыдущая версия Atlas перед уходом демонстрирует прыжки, сальто назад, почти человеческий бег и, конечно, неудачные попытки всего этого.