检查 yaml 子项的值 -Python

Check value of yaml child -Python

大家好,我有两个 yaml 文件。

一个 yaml 包含工作和其他子信息。

具有以下要求的其他 yaml (yaml2):

我想检查子“阶段”的值是否与要求中的值相同

在我的代码中,父节点必须是通用的,因此它可以是不同的作业。但它可以有或没有儿童阶段。阶段可以是 AV、BV、CV

在我的其他有要求的 yaml2 中,我也有阶段(也可以是 AV、BV 或 CV)

现在我想 运行 如果满足 yaml2 的要求就可以工作。

如何查看?因为我的密钥总是可以是作业 yaml 中的其他内容。

工作 yaml:

jobx:
  based: false
  stage: AV
joby:
  based: true
jobxyz:
  based: false
  composition: basis
  stage: BV

yaml2:(要求)

requirements:
  based: false
  stage: AV
  composition: basis
  filled: true

为避免使用定义的索引,您可以使用 for 循环来检查元素。例如:

with open(r'job.yml') as file:
    jobs = yaml.load(file, Loader=yaml.FullLoader)
    with open(r'requirements.yml') as file:
        requirements = yaml.load(file2, Loader=yaml.FullLoader)
           for job in jobs:
               if(job["stage"] == requirements["stage"]):
                     #do job

我建议你也检查是否定义了变量,如果它不是总是在你的文件中设置的话