如何在Python中使用根键保存yaml键值



我正在使用Python来操作一个yaml文件。我正在尝试保存一个新文件,其中包含键值对(我认为这就是它的名称(。

假设我的yaml文件如下:

info:
- name: test
version: 1.0
images:
- name: myimage
newtag: 1.0-beta

我可以用一个简单的将yaml文件读取到Python中的一个变量中

with open('test.yaml', 'r') as f:
data = yaml.load(f, Loader=yaml.FullLoader)
f.close()

我可以保存一个新的yaml文件;图像";值:

with open('new.yaml', 'w') as outfile:
yaml.dump(data.get("images"), outfile, default_flow_style=False)
outfile.close()

输出文件如下所示:

- name: myimage
newtag: 1.0-beta

我试图对它进行编码,使输出文件不只是上面的2行,它还包括";图像:";顶部的键。这个新的yaml文件应该和原来的一样,但是除了";图像:";。我还意识到;图像:";缩进。我觉得这很棘手,很感激你的帮助。

如果你想输出一个键值对,你需要给一个dict一个条目:

yaml.dump(dict(images=data.get("images")), outfile, default_flow_style=False)

最新更新