如何通过 Python 在 yaml 文件中的一个标签下添加列表

how to add a list under one tag in yaml file by Python

我想通过 python 制作一个 YAML 文件,如下所示。

A:
  B:
    - c: d

但是如果我这样做的话:

data = {'A':{'B':{'- c':'d'}}}
yaml.dump(data,file,default_flow_style = False)

文件中的输出如下:

A:
  B:
    '-c': d

如何去掉 - c 周围的引号?

引号在那里是因为 - 是保留字。如果你想在 YAML 中创建一个序列,你已经在 Python 中包含了一个列表,并且你只有字典(作为映射输出)。

尝试:

data = {'A':{'B': [{'c':'d'}]}}
yaml.dump(data, sys.stdout, default_flow_style = False)

这让你:

A:
  B:
  - c: d