我试图让yaml转储每个键:在一个单独的行上的值对。是否有本地选项可以做到这一点?我试过了line_break,但无法让它发挥作用。
这是一个代码示例:
import yaml
def test_yaml_dump():
obj = {'key0': 1, 'key1': 2}
with open('test.yaml', 'w') as tmpf:
yaml.dump(obj, tmpf, line_break=0)
输出结果为:
{key0: 1, key1: 2}
我希望它是:
{key0: 1,
key1: 2}
答案 0 :(得分:1)
如果将参数default_flow_style=False
添加到dump,则输出将为:
key1: 2
key0: 1
(所谓的块样式)。这是将Python dicts转储为YAML映射的更易读的方法。在ruamel.yaml
中,这是使用ruamel.yaml.round_trip_dump()
时的默认设置。
import sys
import ruamel.yaml as yaml
obj = dict(key0=1, key1=2)
yaml.round_trip_dump(obj, sys.stdout)