Recursion 如何使用Jinja2递归地呈现YAML?

Recursion 如何使用Jinja2递归地呈现YAML?,recursion,yaml,jinja2,Recursion,Yaml,Jinja2,我有一个结构不固定的YAML文件(例如:餐厅根据国家有属性名称和属性食品,而商店仅针对每个国家)。 我想将此YAML转换为仅适用于法国的值 例: 对于法国,我会: myyaml: restaurant: name: "resto" food: "cheese" shop: "Paris" 为此,我想制作一个jinja2模板,该模板将递归解析我的YAML文件的内容,并以相同的结构呈现它,但只选择“France”的值。在您做出关于如何进行所需操作的最终决定之前阅读本讨论:

我有一个结构不固定的YAML文件(例如:餐厅根据国家有属性名称和属性食品,而商店仅针对每个国家)。
我想将此YAML转换为仅适用于法国的值 例:

对于法国,我会:

myyaml:
  restaurant:
    name: "resto"
    food: "cheese"

  shop: "Paris"

为此,我想制作一个jinja2模板,该模板将递归解析我的YAML文件的内容,并以相同的结构呈现它,但只选择“France”的值。

在您做出关于如何进行所需操作的最终决定之前阅读本讨论:Jinja不是YAML转换的好工具。例如,使用Python加载YAML,转换加载的结构,并将结果写入YAML,这样会更好。
myyaml:
  restaurant:
    name: "resto"
    food: "cheese"

  shop: "Paris"