如何在Python中为YAML文件添加注释

use*_*546 7 python yaml ruamel.yaml

我正在使用https://pypi.python.org/pypi/ruamel.yaml编写YAML文件

代码是这样的:

import ruamel.yaml
from ruamel.yaml.comments import CommentedSeq

d = {}
for m in ['B1', 'B2', 'B3']:
    d2 = {}
    for f in ['A1', 'A2', 'A3']:
        d2[f] = CommentedSeq(['test', 'test2'])
        if f != 'A2':
            d2[f].fa.set_flow_style()
    d[m] = d2

    with open('test.yml', "w") as f:
        ruamel.yaml.dump(
            d, f, Dumper=ruamel.yaml.RoundTripDumper,
            default_flow_style=False, width=50, indent=8)
Run Code Online (Sandbox Code Playgroud)

我只是想在顶部添加评论,如:

# Data for Class A
Run Code Online (Sandbox Code Playgroud)

在YAML数据之前.

dim*_*414 5

在您的with块中,您可以将任何内容写入文件.由于您只需要在顶部发表评论,因此f.write()在调用ruamel之前添加一个电话:

with open('test.yml', "w") as f:
    f.write('# Data for Class A\n')
    ruamel.yaml.dump(
        d, f, Dumper=ruamel.yaml.RoundTripDumper,
        default_flow_style=False, width=50, indent=8)
Run Code Online (Sandbox Code Playgroud)