我正在编写一个包含一些配置数据的YAML文件。它将作为字典字典读入Python。有些数据需要在不同的密钥下重复。有没有办法在没有大量剪切和粘贴的情况下做到这一点?
以下是yaml文件的示例:
BLOCK1:
a: 1
b: 2
c: 3
BLOCK2:
a: 4
b: 5
c: 6
BLOCK3: # Basically the same as BLOCK2
a: 4 # Is there a way to make this a link to BLOCK2 or a copy of BLOCK2?
b: 5
c: 6
答案 0 :(得分:1)
是的,有。看看:http://pyyaml.org/wiki/PyYAMLDocumentation#Aliases
基本上,你应该这样做:
BLOCK1:
a: 1
b: 2
c: 3
BLOCK2: &block
a: 4
b: 5
c: 6
BLOCK3: *block
结果将是:
{'BLOCK1': {'a': 1, 'b': 2, 'c': 3},
'BLOCK2': {'a': 4, 'b': 5, 'c': 6},
'BLOCK3': {'a': 4, 'b': 5, 'c': 6}}