px普贤教程PuXian
普贤教程 › 包参考

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_parses
ini_getcfg, sec, key
ini_hascfg, sec, key
ini_sectionscfg
ini_keyscfg, sec
其余 13 个 def(内部与辅助,可直接调用但不属稳定接口)
函数参数
in_trims
in_first_seplb, blen
ini_dumpcfg
ini_get_defaultcfg, sec, key, default = ""
ini_get_intcfg, sec, key, default = 0
ini_get_boolcfg, sec, key, default = false
ini_setcfg, sec, key, value
ini_removecfg, sec, key
ini_remove_sectioncfg, sec
ini_mergea, b
ini_section_lencfg, sec
ini_loadpath
ini_savepath, 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);返回字节偏移裁剪后的子串