type
status
date
Jul 24, 2023 03:25 PM
slug
summary
tags
category
icon
password
引言:
问题现象说明
补以前的遗憾. 以前一直 用 python 默认config 文件, 但复杂点的不好弄.
从 7-21 折腾到现在, 尝试了 json toml yaml .
总结一下.
解决过程
配置语言的选择
原来一直 config, 省心.
后面换.env , 也挺不错. 问题和 config 一样, 复杂的配置, 比如 array of table [aot] 没法折腾.
json 不好注释, 且一行压缩模式简直反人类.一直用不惯.
yaml 一直有好感, 后面被 toml 安利, 先折腾 toml. 发现 aot
[[A.B]]
update 的 code掌握不了.重新尝试 yaml, 似乎很舒服. 目前.
yaml 软件包的选择
原来用默认的
pyyaml
, 发现两个缺点:- 没法update注释, 生成 config 后, 注释会丢掉
- 没法控制缩进
后面选用如下库, 目前似乎完美解决上述问题.
总结
安装:
pip install ruamel.yaml
核心 feature 介绍:
注释

缩进控制
The above example with the often seen yaml.indent(mapping=2, sequence=4, offset=2) indentation
分隔符
