递归定义 YAML 映射

Define YAML Mapping Recursively

是否有一种简单的方法可以在 yaml 中定义映射,使值本身在 yaml 中定义。例如

alice:
  name: Alice

bob:
  manager: *alice 

因此映射到 bobmangager 键的值是 alice 对象,而不是字符串。这样一旦文件被解析,我就可以做类似

的事情
>>> data = yaml.load(file_path)
>>> alice, bob = data["alice"], data["bob"]
>>> bob.manager is alice
True

您只需为要引用的对象提供一个锚点:

alice: &alice
  name: Alice

bob:
  manager: *alice