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

eyh26e7m  于 2021-08-25  发布在  Java
关注(0)|答案(1)|浏览(389)

我正在使用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文件,其中仅包含“image”值:

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

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

oug3syen

oug3syen1#

如果要输出单个键值对,则需要为dict提供一个条目:

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

相关问题