普贤教程 › 包参考
config 包
配置合并与读取
| 项 | 值 |
|---|---|
| 包名 | config |
| 版本 | 0.2.0 |
| 可用版本 | 0.1.0 / 0.2.0 |
| 入口 | config.px |
| 分类 | 数据格式与编解码 |
| 文件数 / 行数 | 1 / 246 |
安装与引入
bash
pxpkg init # 首次 pxpkg add config@0.2.0 pxpkg install
px
import config所属分类教程:数据格式与编解码
公开接口
| 函数 | 参数 |
|---|---|
cfg_merge | base, overlay |
cfg_from_yaml | s, defaults = null |
cfg_get | d, path, default = null |
cfg_set | d, path, v |
cfg_apply_env | d, prefix |
其余 9 个 def(内部与辅助,可直接调用但不属稳定接口)
| 函数 | 参数 |
|---|---|
cfg_cast_env | s |
cfg_from_json | s, defaults = null |
cfg_to_json | d |
cfg_validate | d, required |
cfg_apply_env_recursive | d, prefix |
cfg_env_recurse | d, prefix, path_prefix |
cfg_get_all | d, paths |
cfg_clone | d |
cfg_flatten | d, prefix = "" |
包内说明(源码头注释)
text
============================================================ 普贤生态库:registry/config —— 配置合并与读取 ------------------------------------------------------------ 纯函数库(无 IO、无状态),编译(px build)与解释(px run)双模式一致。 cfg_from_yaml(s, defaults?) → Ok(dict) | Err # 解析 YAML,可与默认值合并 cfg_merge(base, overlay) → dict # 递归合并(overlay 覆盖 base) cfg_get(d, "a.b.c", default) → 值 # 点路径读取 cfg_set(d, "a.b.c", v) # 点路径写入(原地改 dict) cfg_apply_env(d, "APP") → dict # 环境变量 APP_<KEY> 覆盖 说明:env 值均为字符串;cfg_apply_env 对 "true/false"、"整数"、"浮点" 做自动类型转换。 ============================================================ 深度合并:overlay 的 dict 键递归合并,非 dict 值直接覆盖。