【发布时间】:2021-10-07 13:59:27
【问题描述】:
我的任务是更新 yaml 文件中的值。 yaml 文件被读入 'doc' 与 yaml 库具有以下 sysntax
with open('createvol.yml') as f:
doc = yaml.load(f)
打印(文档)看起来像这样。
[{'hosts': 'localhost', 'tasks': [{'register': 'result', 'test_lun': {'serial': 'P1234_K1', 'storageserial': '{{ storageserial }}', 'state': 'present', 'data': {'cap_compression': '{{ cap_compression | default(None) }}', 'storagepool': {'id': '{{ poolid | default(None) }}'}, 'name': '{{ name | default(None) }}', 'vol': '{{ vol | default(None) }}', 'size': '{{ size | default(None) }}'}}}, {'debug': 'var=result'}], 'collections': ['company.storage'], 'name': 'Test Create vol', 'vars': [{'poolid': 200}, {'size': '7.3KB'}, {'storageserial': 111111}, {'name': 'test_vol_create'}, {'cap_compression': ['compression', 'deduplication']}], 'facts': False}]
这里我需要更新 'vars' 下的值,例如 poolid、size、storageserial、name 可能有人请帮助我了解如何解析文档内容并根据需要更新值的 python 逻辑。
【问题讨论】:
标签: python json dictionary automation yaml