普贤教程 › 包参考
ini 包
INI 配置解析
| 项 | 值 |
|---|---|
| 包名 | ini |
| 版本 | 0.2.0 |
| 可用版本 | 0.1.0 / 0.2.0 |
| 入口 | ini.px |
| 分类 | 数据格式与编解码 |
| 文件数 / 行数 | 1 / 235 |
安装与引入
bash
pxpkg init # 首次 pxpkg add ini@0.2.0 pxpkg install
px
import ini所属分类教程:数据格式与编解码
公开接口
| 函数 | 参数 |
|---|---|
ini_parse | s |
ini_get | cfg, sec, key |
ini_has | cfg, sec, key |
ini_sections | cfg |
ini_keys | cfg, sec |
其余 13 个 def(内部与辅助,可直接调用但不属稳定接口)
| 函数 | 参数 |
|---|---|
in_trim | s |
in_first_sep | lb, blen |
ini_dump | cfg |
ini_get_default | cfg, sec, key, default = "" |
ini_get_int | cfg, sec, key, default = 0 |
ini_get_bool | cfg, sec, key, default = false |
ini_set | cfg, sec, key, value |
ini_remove | cfg, sec, key |
ini_remove_section | cfg, sec |
ini_merge | a, b |
ini_section_len | cfg, sec |
ini_load | path |
ini_save | path, cfg |
包内说明(源码头注释)
text
============================================================
普贤生态库:registry/ini —— INI 配置解析
------------------------------------------------------------
纯函数库(无 IO、无状态),编译(px build)与解释(px run)双模式一致。
ini_parse(s) → Ok(dict) | Err 解析文本 → {节: {key: value}}
ini_get(cfg, sec, key) → Ok(str) | Err 取值
ini_has(cfg, sec, key) → bool 是否存在键
ini_sections(cfg) → [str] 节名列表(不含空节 "")
ini_keys(cfg, sec) → Ok([str]) | Err 某节的全部键
支持:
- 节:[sec](允许前后空白;节名不含方括号)
- 键值:k = v / k : v / k=v(首个分隔符切开,值去除首尾空白)
- 无节键值归入 "" 节(configparser DEFAULT 心智)
说明:文本操作按字节安全(值可含中文/任意字节);节名大小写敏感。
实现把文本转 bytes 后用 bytes_len/bytes_get 逐字节扫描
(M185 起 str 索引/切片/len 三面统一 rune;本库用字节面保证中文不断坏)。
============================================================
---- 内部工具 ----
字节级首尾去空白(空格 0x20 / 制表 0x09);返回字节偏移裁剪后的子串