How can I write data in YAML format in a file? How can I write data in YAML format in a file? python python

How can I write data in YAML format in a file?


import yamldata = 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)

The default_flow_style=False parameter is necessary to produce the format you want (flow style), otherwise for nested collections it produces block style:

A: aB: {C: c, D: d, E: e}


Link to the PyYAML documentation showing the difference for the default_flow_style parameter. To write it to a file in block mode (often more readable):

d = {'A':'a', 'B':{'C':'c', 'D':'d', 'E':'e'}}with open('result.yml', 'w') as yaml_file:    yaml.dump(d, yaml_file, default_flow_style=False)

produces:

A: aB:  C: c  D: d  E: e