山药定制山药加工

2024-06-12 01:41:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我想用一些自定义宏扩展YAML,这样我就可以在同一个文件中“重用”部分定义。样品:

DEFAULTS:
- a
- b
- c
CUSTOM1:
- %DEFAULTS
- d
CUSTOM2:
- %DEFAULTS
- e

导致

CUSTOM1==['a','b','c','d']
CUSTOM2==['a','b','c','e']

不需要完全相同的语法,只要我能从中获得相同的功能。我有什么选择?你知道吗

附言。 我确实意识到,在解析之后只需遍历字典并重新调整值是可能的,但是我希望在加载时这样做。你知道吗


Tags: 文件功能yaml字典定义语法样品defaults
1条回答
网友
1楼 · 发布于 2024-06-12 01:41:41

YAML规范中没有选项。唯一接近的是merge syntax,但这是用于合并映射的,不适用于序列。你知道吗

如果您无法切换到在上下文中使用映射(并使用<<合并),那么实现这一点的最干净的方法IMO是使CUSTOM1CUSTOM2的值特定于类型,例如expander

CUSTOM1: !expander
- %DEFAULTS
- d    

当第一个序列元素以%开头时,映射到将其解释为可替换值的对象。你知道吗

相关问题 更多 >