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

Резултати

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

Пребарај: #rom

当前筛选 #rom清除筛选
YuKongA | Channel

@YuKongA13579 · Post #874 · 28.06.2024 г., 10:12

小米 14 1.0.42.0 / 1.0.24.6.24 OS1.0.42.0.UNCCNXM: 笔记 - 修复 笔记附件数据超过20MB时,云同步失败的问题 文件管理器 - 优化 文件列表的加载速度 时钟 - 修复 闹钟响铃后,无法通过按键关闭闹钟的问题 手机管家 - 优化 体检分数计算规则,提升体检分数准确性 小部件 - 新增 出行助手功能,智能提醒火车、飞机行程,让出行更便捷(后续需在小米应用商店将智能助理应用升级至5.12.2及以上版本,短信升级至15.0.2.24及以上版本,MiAI引擎升级至2.2及以上版本时可支持) - 优化 负一屏加载速度 - 修复 点击音乐小部件时缩放动画异常的问题 - 修复 添加时钟小部件时,低概率出现的显示异常问题 状态栏、通知栏 - 修复 单行通知图标显示不全的问题 - 修复 空白通知仅展示图标的问题 - 修复 状态栏切换字体大小或切换三方字体后,5G图标显示不全的问题 计算器 - 优化 计算器按键灵敏度 相册 - 优化 视频同步策略,提升播放画面流畅度 - 修复 短时间产生大量图片时,相册预览图加载时间过长的问题 - 修复 云同步过程中照片时间丢失,导致日期错误的问题 - 修复 在云同步时删除照片后,照片再次出现的问题 - 修复 部分机型时光卡片无法播放的问题 - 修复 连续拍摄大量照片时,相册预览图显示异常的问题 系统 - 优化 应用预加载,提升应用启动速度 - 优化 启动动画策略,降低应用启动延迟 - 优化 应用切换时的系统资源回收策略,提升应用流畅度 - 优化 内存使用,提升抖音流畅度 - 修复 通知过多可能导致系统重启的问题 - 合入2024年6月安全补丁,增强系统安全 锁屏 - 优化 锁屏长按进入编辑的触发策略,减少误触 控制中心 - 修复 部分快捷开关低概率失效的问题 OS1.0.24.6.24.DEV: 系统 - 优化 应用预加载,提升应用启动速度 - 优化 启动动画策略,降低应用启动延迟 - 优化 应用切换时的系统资源回收策略,提升应用流畅度 - 优化 内存使用,提升抖音流畅度 #Xiaomi14#HyperOS#ROM#Recovery

Xiaomi 12T Pro | K50U | Updates

@xiaomi_12tpro_updates · Post #338 · 22.05.2025 г., 00:53

#LineageOS#Unofficial#ROM#V#Diting LineageOS 22.2 - UNOFFICIAL | Android 15 Updated:05/22/'25 ▪️Download ▪️Sources ▪️Support ▪️Playground HQ ▪️Changelog ▪️Wiki ▪️XDA Notes: • Weekly automated build By@Adrianyyyy Follow@HawaiiReleases Join@Polywaiparrot

Xiaomi 12T Pro | K50U | Updates

@xiaomi_12tpro_updates · Post #336 · 21.05.2025 г., 00:39

#LineageOS#Unofficial#ROM#V#Diting LineageOS 22.2 - UNOFFICIAL | Android 15 Updated:05/21/'25 ▪️Download ▪️Sources ▪️Support ▪️Playground HQ ▪️Changelog ▪️Wiki ▪️XDA Notes: • Weekly automated build By@Adrianyyyy Follow@HawaiiReleases Join@Polywaiparrot

Xiaomi 12T Pro | K50U | Updates

@xiaomi_12tpro_updates · Post #333 · 19.05.2025 г., 20:24

#LineageOS#Unofficial#ROM#V#Diting LineageOS 22.2 - UNOFFICIAL | Android 15 Updated:05/19/'25 ▪️Download ▪️Sources ▪️Support ▪️Playground HQ ▪️Changelog ▪️Wiki ▪️XDA Notes: • Weekly automated build By@Adrianyyyy Follow @xiaomi_12tpro_updates Join @xiaomi12tpro_chat

Xiaomi 12T Pro | K50U | Updates

@xiaomi_12tpro_updates · Post #316 · 22.04.2025 г., 19:29

#LineageOS#Unofficial#ROM#V#Diting LineageOS 22.2 - UNOFFICIAL | Android 15 Updated:04/22/'25 ▪️Download ▪️Sources ▪️Support ▪️Playground HQ ▪️Changelog ▪️Wiki ▪️XDA Notes: • Weekly automated build By@Adrianyyyy Follow @xiaomi_12tpro_updates Join @xiaomi12tpro_chat

Xiaomi 12T Pro | K50U | Updates

@xiaomi_12tpro_updates · Post #472 · 03.11.2025 г., 21:48

#LineageOS#Unofficial#ROM#B#Diting LineageOS 23.0 - UNOFFICIAL | Android 16 Updated:11/03/'25 ▪️Download ▪️Sources ▪️Support ▪️Playground HQ ▪️Changelog ▪️Wiki ▪️XDA Notes: • Weekly automated build By@Adrianyyyy Follow@HawaiiReleases Join@Polywaiparrot

Xiaomi 12T Pro | K50U | Updates

@xiaomi_12tpro_updates · Post #455 · 20.10.2025 г., 21:10

#LineageOS#Unofficial#ROM#B#Diting LineageOS 23.0 - UNOFFICIAL | Android 16 Updated:10/20/'25 ▪️Download ▪️Sources ▪️Support ▪️Playground HQ ▪️Changelog ▪️Wiki ▪️XDA Notes: • Weekly automated build By@Adrianyyyy Follow@HawaiiReleases Join@Polywaiparrot

Xiaomi 12T Pro | K50U | Updates

@xiaomi_12tpro_updates · Post #445 · 13.10.2025 г., 21:27

#LineageOS#Unofficial#ROM#B#Diting LineageOS 23.0 - UNOFFICIAL | Android 16 Updated:10/13/'25 ▪️Download ▪️Sources ▪️Support ▪️Playground HQ ▪️Changelog ▪️Wiki ▪️XDA Notes: • Weekly automated build By@Adrianyyyy Follow@HawaiiReleases Join@Polywaiparrot

Xiaomi 12T Pro | K50U | Updates

@xiaomi_12tpro_updates · Post #443 · 06.10.2025 г., 20:45

#LineageOS#Unofficial#ROM#B#Diting LineageOS 23.0 - UNOFFICIAL | Android 16 Updated:10/06/'25 ▪️Download ▪️Sources ▪️Support ▪️Playground HQ ▪️Changelog ▪️Wiki ▪️XDA Notes: • Weekly automated build By@Adrianyyyy Follow@HawaiiReleases Join@Polywaiparrot

Xiaomi 12T Pro | K50U | Updates

@xiaomi_12tpro_updates · Post #442 · 29.09.2025 г., 20:37

#LineageOS#Unofficial#ROM#B#Diting LineageOS 23.0 - UNOFFICIAL | Android 16 Updated:09/29/'25 ▪️Download ▪️Sources ▪️Support ▪️Playground HQ ▪️Changelog ▪️Wiki ▪️XDA Notes: • Weekly automated build By@Adrianyyyy Follow@HawaiiReleases Join@Polywaiparrot

123•••10•••20•••2627
ПретходнаСтраница 1 од 27Следна