Inheritance 继承yml并添加或更新现有块
我有ymlInheritance 继承yml并添加或更新现有块,inheritance,yaml,Inheritance,Yaml,我有yml # test.yml - name: test prop1: val1 nested-prop: - val2 - val3 现在我想添加另一个块并更新现有的nested prop块,这样最终输出可能如下所示 # test.yml - name: test prop1: val1 nested-prop: - val2 - val3 - val4 prop2: val5 它在nested prop块中添加val
# test.yml
- name: test
prop1: val1
nested-prop:
- val2
- val3
现在我想添加另一个块并更新现有的nested prop
块,这样最终输出可能如下所示
# test.yml
- name: test
prop1: val1
nested-prop:
- val2
- val3
- val4
prop2: val5
它在nested prop
块中添加val4
,并在底部添加prop2:val5
这可以在没有任何编程模块(如
pyyaml
或其他)的情况下实现。仅使用yaml语法?不,仅使用yaml无法做到这一点。无法将项目合并为您想要使用val4
的序列
使用别名(&foo
)和锚(*foo
)可以将一个映射合并到另一个映射中:
my-alias: &my-alias
prop2: val5
data:
- name: test
prop1: val1
nested-prop:
- val2
- val3
<<: *my-alias
请注意,YAML中的映射是无序的,因此不能保证
prop2
键处于“底部”(因为无序的映射没有“底部”)。不,仅使用YAML无法做到这一点。无法将项目合并为您想要使用val4
的序列
使用别名(&foo
)和锚(*foo
)可以将一个映射合并到另一个映射中:
my-alias: &my-alias
prop2: val5
data:
- name: test
prop1: val1
nested-prop:
- val2
- val3
<<: *my-alias
请注意,YAML中的映射是无序的,因此
prop2
键不能保证“在底部”(因为一个无序的映射没有“底部”)。你的问题是什么?有没有办法做到这一点,只使用YAML语法?你的问题是什么?有没有办法做到这一点,只使用YAML语法?谢谢@Jordan,我将尝试使用&
变量更改源文件。谢谢@Jordan,我将尝试使用&
变量更改源文件。