1
我想用一些自定义宏来扩展YAML,这样我就可以在同一个文件中“重用”部分定义。示例:PyYAML自定义yaml处理
DEFAULTS:
- a
- b
- c
CUSTOM1:
- %DEFAULTS
- d
CUSTOM2:
- %DEFAULTS
- e
导致
CUSTOM1==['a','b','c','d']
CUSTOM2==['a','b','c','e']
不必是完全相同的语法,只要我能得到相同的功能出来。我有什么选择?
P.S. 我意识到可以在解析并重新调整值之后再行走字典,但是我想在加载时执行此操作。
我在想PyYAML API钩子的问题,但是代码没有很好的记录,因此我不知道哪些项目会被覆盖并产生什么效果。 – Droopy4096
@ Droopy4096如果您希望标准YAML映射的行为不同,并且您不希望后处理序列,那么在解析器中这样做是唯一的选择。但PyYAML(和我的衍生物[ruamel.yaml](https://pypi.python.org/pypi/ruamel.yaml)theparser的工作方式是他们没有* context *来访问如果你想使用默认映射(尽管我知道PyYAML内部结构很好),我会去后处理。 – Anthon