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

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_mergebase, overlay
cfg_from_yamls, defaults = null
cfg_getd, path, default = null
cfg_setd, path, v
cfg_apply_envd, prefix
其余 9 个 def(内部与辅助,可直接调用但不属稳定接口)
函数参数
cfg_cast_envs
cfg_from_jsons, defaults = null
cfg_to_jsond
cfg_validated, required
cfg_apply_env_recursived, prefix
cfg_env_recursed, prefix, path_prefix
cfg_get_alld, paths
cfg_cloned
cfg_flattend, 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 值直接覆盖。