以dict格式输出yaml
Outputting yaml in dict format
我有一个看起来像这样的字典列表
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
没有区别。
在 PyYAML 中,选项 default_flow_style
具有三个不同的值:
True
: 一切都以流式转储
False
:所有内容都以块形式转储
None
: 只有最底层的dicts和lists被转储为flow style
我们在 5.1 版中将默认值从 None
更改为 False
,因为很多人对此表示抱怨。所以你需要 default_flow_style=None
.
我有一个看起来像这样的字典列表
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
没有区别。
在 PyYAML 中,选项 default_flow_style
具有三个不同的值:
True
: 一切都以流式转储False
:所有内容都以块形式转储None
: 只有最底层的dicts和lists被转储为flow style
我们在 5.1 版中将默认值从 None
更改为 False
,因为很多人对此表示抱怨。所以你需要 default_flow_style=None
.