Python 配置解析: PyYaml

建议点击 查看原文 查看最新内容。

原文链接: https://typonotes.com/posts/2024/11/21/python-config-pyyaml/

pyyaml 是 python 中管理 yaml 依赖库。

1
pip install pyyaml

虽然名字叫 pyyaml, 但是在 import 的时候却使用的是 yaml

1
import yaml

load 解析

load 支持解析

  1. 字符串
  2. 文件, 不用预先读取成字符串再解析
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
import yaml

### 字符串
info = """
name: tangx
age: 20
address:
  contry: China
  city: Beijing
"""

cfg = yaml.safe_load(info)
print(cfg)


### 文件
with open("config.yaml", "r") as file:
    config = yaml.safe_load(file)

print(config)

值得注意的是, 这里使用的是 yaml.safe_load 加载并解析数据。

同样的, 可以支持其他 Loader

  • BaseLoader
  • FullLoader
  • SafeLoader
  • UnsafeLoader
  • Loader
1
2
import yaml
c2 = yaml.load(info, Loader=yaml.FullLoader)

dump

与 load 类似

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
c2 = yaml.load(info, Loader=yaml.Loader)

# safe dump
d2 = yaml.safe_dump(
    c2,
    default_flow_style=False,
)
print(d2)

# dump
d3 = yaml.dump(c2)
print(d3)

参考资料

  1. 官方文档: https://pyyaml.org/wiki/PyYAMLDocumentation