TGTGInsighttelegram intelligenceLIVE / telegram public index
← Python Заметки

TGINSIGHT SIMILAR POSTS

Најди сличен содржај

Изворен канал @pythonotes · Post #241 · 5 мај

Можно ли в 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

Hashtags

Резултати

Пронајдени 36 слични објави

Пребарај: #now

当前筛选 #now清除筛选
СОЛОДИН LIVE

@goodtraders · Post #9515 · 16.04.2026 г., 13:44

#NOW Раз уж засветил публично спекулятивный трейд - оповещаю и о его закрытии. ✅ Три дня прошло в сделке = профит фактор 1 к 2,6 получилось. В инвест портфеле лонг сохраняю.

Hashtags

Space Universe🌌

@spaceuniverses · Post #148 · 27.02.2022 г., 07:00

🌟Right #now Chandra is studying a Black Hole in galaxy UGC 3855. While the galaxy is located about 180 million light years from Earth, the brilliant star seen photobombing the galaxy in this image is actually much closer to us. This creates the illusion that the star is huge.

Hashtags

互联E栈

@bcd8888 · Post #740 · 01.05.2025 г., 09:09

#Now Write #付费限免#内购限免 🔘软件介绍 图片、视频、音频构建您的日记 🔘软件价格 38元→免费→中文→内购限免 🔘软件链接 App Store下载 限免随时结束速度冲! 🔊频道💬群组🎁福利📍导航

🚘 1星司机 大佬(⭐) 发布了一辆 #Now E 5 人合租车,欧洲4大联赛,欧冠欧联欧协联,所有now体育台最低 165.45 元/月,剩余 5 个空位置. 点击上车 🚘 1星司机 ゞ梦や魇‰(⭐) 发布了一辆 #Xbox Game Pass Unlimited 3 人合租车,xgpu会员最低 6.5 元/月,剩余 3 个空位置. 点击上车 🚘 1星司机 佬(⭐) 发布了一辆 #Xbox Game Pass Unlimited 10 人合租车,订阅季付多送几天,全球通用,账号登录微软商店即可在xbox以自己账号同步成就和游戏进度最低 4.33 元/月,剩余 1 个空位置. 点击上车 🚘 4星司机 cm(⭐⭐⭐⭐) 发布了一辆 #1Password 4 人合租车,家庭成员车位,2024/2/22到期,非一年试用bug活动车,保险库数据仅自己可见最低 4.23 元/月,剩余 4 个空位置. 点击上车

ПретходнаСтраница 1 од 3Следна