python - 如何分离yaml.dump key :value pair by a new line?

标签 python yaml

我试图让 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/

相关文章:

python - MySQL "IN"查询中的多个参数

python - cfg.MODEL.ROI_HEADS.SCORE_THRESH_TEST = 0.5 在detectron2中有什么作用?

yaml - 如何将 YAML 文件包含在另一个文件中?

linux - 如何获取远程主机的环境变量

python - pandas:四舍五入到用户定义的最接近的 float

python - YouTube-dl 和 Ffmpeg

YAML 多行换行,不带空格

ruby - 解码 YAML 序列化对象

java - 如何使用 snakeYaml 库访问 YAML 文件中的内部(嵌套)键值

python - 我可以将命令行参数传递给 Abaqus python 吗?