以dict格式输出yaml

问题描述 投票:0回答:1

我有一个像这样的字典列表

data = {'items': [{'id': '1', 'desc': 'Item 1', 'cat': 'cat1'}], 'categories': [{ 'id': 'cat1', 'desc': 'category number 1' }]}

我想以以下Yaml格式转储此内容

---
items:
    - { id: 'it1', desc: 'item number 1', cat: 'cat1' }
categories:
    - { id: 'cat1', desc: 'category number 1' }

使用yaml.dump(data)以以下格式输出yaml

categories:
- desc: category number 1
  id: cat1
items:
- cat: cat1
  desc: Item 1
  id: '1'

我需要添加什么来更改此设置?我尝试过将default_flow_style=False设置为无差异。

python yaml pyyaml
1个回答
0
投票

在PyYAML中,选项default_flow_style具有三个不同的值:

  • True:一切都以流样式转储
  • False:一切都以块样式转储
  • [None:仅最低级别的字典和列表以流样式转储

我们将默认值从5.1版的None更改为False,因为许多人对此表示抱怨。因此,您需要default_flow_style=None

© www.soinside.com 2019 - 2024. All rights reserved.