检查 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
我建议你也检查是否定义了变量,如果它不是总是在你的文件中设置的话
大家好,我有两个 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
我建议你也检查是否定义了变量,如果它不是总是在你的文件中设置的话