合并 YAML 文档

加载的 YAML 可以组合并转储,注释保持不变。

from strictyaml import Map, MapPattern, Str, Seq, Int, load

schema_1 = Map({
    "a": Str(),
    "b": Map({"x": Int(), "y": Int()}),
    "c": Seq(MapPattern(Str(), Str())),
})

schema_2 = Map({"x": Int(), "y": Int()})

yaml_1 = load(yaml_snippet_1, schema_1)
yaml_2 = load(yaml_snippet_2, schema_2)

yaml_1['b'] = yaml_2
print(yaml_1.as_yaml())
# Some comment

a: â # value comment

# Another comment
b:
  x: 8

# y is now 9
  y: 9
c:
- a: 1
- b: 2

可执行规范

merge-documents.story storytests 自动生成的文档。