Как записать данные в формате YAML в файл?

Мне нужно записать приведенные ниже данные в файл yaml с помощью Python:

{A:a, B:{C:c, D:d, E:e}} 

т. е., словарь в словаре. Как я могу достичь этого?

2 ответов


import yaml

data = dict(
    A = 'a',
    B = dict(
        C = 'c',
        D = 'd',
        E = 'e',
    )
)

with open('data.yml', 'w') as outfile:
    yaml.dump(data, outfile, default_flow_style=False)

на default_flow_style=False параметр необходим для создания нужного формата (стиль потока), иначе для вложенных коллекций он создает стиль блока:

A: a
B: {C: c, D: d, E: e}

ссылке к документации PyYAML, показывающей разницу для