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

How to save yaml key-values with the root key in Python?

我正在使用 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

我正在尝试对其进行编码,以便输出文件不只是上面的两行,它还在顶部包含“图像:”键。这个新的 yaml 文件应该与原始文件一样,但除了“images:”之外基本上没有其他键值。我还意识到“图像:”下面的值是缩进的。我发现这很棘手,非常感谢您的帮助。

如果要输出单个键值对,需要给一个dict,只有一个条目:

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