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

sub*_*dip 3 python yaml pyyaml

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

A:
  B:
    - c: d
Run Code Online (Sandbox Code Playgroud)

但如果我这样做:

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

文件中的输出如下:

A:
  B:
    '-c': d
Run Code Online (Sandbox Code Playgroud)

我怎样才能摆脱周围的报价- c

Ant*_*hon 5

之所以有引号,是因为 the-是保留字。如果您想在 YAML 中创建序列,则需要在 Python 中包含一个列表,并且只有字典(作为映射输出)。

尝试:

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

这会让你:

A:
  B:
  - c: d
Run Code Online (Sandbox Code Playgroud)