我试图让 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}
最佳答案
如果您将参数 default_flow_style=False
添加到 dump,那么输出将是:
key1: 2
key0: 1
(所谓的 block 样式)。这是将 Python 字典转储到 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)
关于python - 如何分离yaml.dump key :value pair by a new line?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38643420/