映射中的yaml锚点?
我基本上是在yaml文件中实现以下目标映射中的yaml锚点?,yaml,config,pyyaml,Yaml,Config,Pyyaml,我基本上是在yaml文件中实现以下目标 Classroom: year: &year 5 subject: &subject Math classroom_name: classroom_*year_*subject 我的期望 'Classroom': { 'year': 5 'subject': 'Math' 'classroom_name': 'classroom_5_Math' } 当我加载它时(通过Python,但我不认
Classroom:
year: &year 5
subject: &subject Math
classroom_name: classroom_*year_*subject
我的期望
'Classroom': {
'year': 5
'subject': 'Math'
'classroom_name': 'classroom_5_Math'
}
当我加载它时(通过Python,但我不认为这会改变什么?)
我得到的
'Classroom': {
'year': 5
'subject': 'Math'
'classroom_name': 'classroom_*year_*subject'
}
我做错了什么/我该如何改进它?我最终只是使用并定义了我自己的处理程序来处理特定的情况。我不认为它具有很强的可扩展性(不能自我引用),但我们会看到,错误在于您的期望不正确。其中明确指出: 在表示图中,一个节点可能出现在多个集合中。序列化此类数据时,节点的第一次出现由锚点标识。每个后续事件都被序列化为一个别名节点,该节点引用回该锚点 你的
课堂*year*subject
是一个节点,这个标量将作为一个字符串加载,正好有两个嵌入的星号,它们没有特殊意义,除非它们出现在标量()的开头
因此,该节点不是标量(节点)和两个别名的组合,正如您所想(希望的)。只有完整的节点才可以使用别名