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

Резултати

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

Пребарај: #layout

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

@lsposed_Modules_Updates_Trackers · Post #6963 · 05.05.2026 г., 07:00

#Layout#Flash丶光芒 模块:com.flass.layoutinspect 简介:Layout Inspect 版本:19-1.1.5 更新时间:2026/05/05 14:40:42 更新日志: Layout Inspect 1.整合API 89、100、101,集成一个安装包 2.首次需选择 Xposed Service,必须选择正确,否则动态作用域无法生效 模块 一、Dump Dex 1.新增 Dex 方案:mCookie(默认),mInternalCookie(备用字段),DexCaches(内存级别) 2.新增 DexFileName:勾选则命名 classesX.dex,反之则 cookie.dex 3.新增 DexFileSize 方案:默认,Data,Pointer(内存级 @lsposed_Modules_Updates_Trackers | @lsposed_Geeks_Bot

Lsposed Modules Updates Tracker

@lsposed_Modules_Updates_Trackers · Post #6396 · 31.03.2026 г., 12:00

#Layout#Flash丶光芒 模块:com.flass.layoutinspect 简介:Layout Inspect 版本:18-1.1.4 更新时间:2026/03/31 18:57:44 更新日志: 1.爆肘 SystemUI,完美捕获”系统布局“(锁屏、状态栏、通知栏、指纹等等) 2.增强 Dump Dex:完美脱壳某企业壳,还原Nop,不闪退 3.增强”类加载器“功能,从内存中读取,不放过任何一个类加载器,与Frida一样强大(因此也解决了算法助手冲突问题) 4.增强”搜索类名“:既然类加载器一个都不放过,那么类名自然也一个都跑不掉 5.新增”控件转图片“的新方案,比之前的更加稳定,之前的也保留 6.新增”修改前景 (仅支持纯色)“的选项,可将前景修改成纯色(长按foreground弹出 @lsposed_Modules_Updates_Trackers | @lsposed_Geeks_Bot

Lsposed Modules Updates Tracker

@lsposed_Modules_Updates_Trackers · Post #6174 · 13.03.2026 г., 08:00

#Layout#Flash丶光芒 模块:com.flass.layoutinspect 简介:Layout Inspect 版本:17-1.1.3 更新时间:2026/03/13 15:18:22 更新日志: 一、升级模块的Resouces隔离模式,显著效果如下: 1.避免被扫资源检测点(如某国网等) 2.避免与宿主资源ID冲突问题 3.修复远古遗留的样式冲突问题(如长按弹出的菜单项、JMComic等) 4.修复 Dump Xml 与 宿主同名时,脱出结果并非是预期文件 5.修复 Dump Assets 脱出多余文件问题 二、更新与增强: 1.新增 活动记录 功能(移除原”当前活动“功能),查宿主所有在运行中的Activity 2.新增 Activity 的 可视化对象 功能 3.升级 Dump De @lsposed_Modules_Updates_Trackers | @lsposed_Geeks_Bot

GitHub Trends

@githubtrending · Post #15096 · 26.08.2025 г., 11:30

#lua#layout#lua#neovim#neovim_plugin#neovim_ui#nvim#plugin#scratchpad#ui#ux#zen_mode#zenmode The no-neck-pain.nvim plugin for Neovim centers your active editing window by adding empty buffers on each side, creating padding that keeps your focus in the middle of the screen. It works right away without setup, supports multiple tabs, split windows, and integrates with popular file tree and dashboard plugins. You can customize its width, colors, and behavior, and even use the side buffers as scratchpads for notes. This helps reduce neck strain and improves focus, especially on wide monitors, by keeping your code or text centered and easy to read without distractions. https://github.com/shortcuts/no-neck-pain.nvim