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

Резултати

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

Пребарај: #tcqt

当前筛选 #tcqt清除筛选
Lsposed Modules Updates Tracker

@lsposed_Modules_Updates_Trackers · Post #6994 · 08.05.2026 г., 14:00

#TCQT#owo233 模块:com.owo233.tcqt 简介:TCQT 版本:478-3.6.4.r478.45bbb72 更新时间:2026/05/08 21:38:10 更新日志: 新增 对 XPAPI 101 的支持 新增 屏蔽版本升级弹窗 重构 回复消息不带@ 修复 消息多选撤回在 9.2.80 失效 修复 跳过扫码登录等待 修复 模块重启功能在 9.2.78 版本失效 优化 移除转发选择数量限制支持新版转发 新增 禁用聊天右侧抽屉 优化 隐藏更多空间广告 修复 移除关键词广告在 9.2.80 失效 修复 模块入口在 9.1.60 消失 新增 新的防撤回实现 优化 重新加入域名作为备用模块设置入口 新增 上传透明头像 修复 移除消息表情回应在 9.1.70 版本以下失效 @lsposed_Modules_Updates_Trackers | @lsposed_Geeks_Bot

Hashtags

Lsposed Modules Updates Tracker

@lsposed_Modules_Updates_Trackers · Post #6337 · 27.03.2026 г., 11:00

#TCQT#owo233 模块:com.owo233.tcqt 简介:TCQT 版本:428-v3.6.3-428-c9ad9de 更新时间:2026/03/27 18:27:00 更新日志: 壮举 新的模块设置页面(Compose) 新增 修改小程序分享行为 新增 修改预览字体大小 新增 自动领取达人补登卡 修复 闪照视为正常图片在 9.2.0 失效 修复 模块功能计数 修复 重命名 .apk 文件 修复 禁用泡泡图标 NPE 其他 增加 JS桥 白名单 其他 从附加工具中移除历史冻结记录 构建频道:TCQT CI 反馈群组:TCQT Group @lsposed_Modules_Updates_Trackers | @lsposed_Geeks_Bot

Hashtags

Lsposed Modules Updates Tracker

@lsposed_Modules_Updates_Trackers · Post #6136 · 07.03.2026 г., 16:00

#TCQT#owo233 模块:com.owo233.tcqt 简介:TCQT 版本:400-v3.6.2-400-2b8abeb 更新时间:2026/03/07 23:50:58 更新日志: 新增 篡改图片显示大小 新增 禁用X5内核 新增 允许查看异常资料卡 新增 去你大爷的QQ浏览器 新增 艾特变色龙 新增 移除收藏预览限制 修复 宿主处于深色模式时 Dialog 异常 修复 禁用泡泡图标在 9.2.65 版本失效 修复 获取宿主夜间模式状态 修复 未登录状态下 屏蔽烦人弹窗 NPE 修复 模块结束宿主进程导致 NPE 修复 重命名 .apk 文件在 9.2.70版本失效 重构 显示消息Seq与时间 重构 模块设置UI 其他 不再使用透明图标 其他 迁移到AGP 9.0 其他 支 @lsposed_Modules_Updates_Trackers | @lsposed_Geeks_Bot

Hashtags