如何参考YAML“设置”来自同一个YAML文件中的其他地方?
我有以下YAML:
paths:
patha: /path/to/root/a
pathb: /path/to/root/b
pathc: /path/to/root/c
如何通过从三个路径中删除/path/to/root/
来“规范化”这一点,并将其作为自己的设置,例如:
paths:
root: /path/to/root/
patha: *root* + a
pathb: *root* + b
pathc: *root* + c
显然这是无效的,我只是弥补了。什么是真正的语法?可以吗?
没有找到相关结果
已邀请:
7 个回复
锯康
这是完全有效的YAML,字段
和
在
块中重复使用。您可以以相同的方式重用标量节点,但是您无法更改内部的内容并从YAML内部添加路径的最后一部分。 如果重复打扰你那么多我建议让你的应用程序知道
属性并将其添加到看起来相对而非绝对的每条路径。
荆怖赡
标记连接数组中的字符串:
结果如下:
的参数数组可以包含任意数据类型的任意数量的元素,只要它们可以转换为字符串,因此
可以达到预期效果。
蹦吃舷弦
碧肮械淌设
在百里香的某个地方
输出: /家庭/数据/中/ /家庭/数据/中/ P1
帆攀缺锯欧
示例逻辑:
结果数组:
净爽
伐教爸
替换为其他非保留字符(我倾向于使用非ASCII字符,因为它们很少被用作某些规范的一部分),你最终会得到完全合法的YAML:
这将加载到您的解析器使用的语言中的映射的标准表示,并且不会神奇地扩展任何内容。 为此,请使用本地默认对象类型,如以下Python程序中所示:
将打印:
扩展是在动态完成并处理嵌套定义,但您必须小心不要调用无限递归。 通过指定转储器,您可以从加载的数据中转储原始YAML,因为它具有动态扩展:
这将改变映射键排序。如果那是你的问题 使
a
(从
进口)