如何从纯python创建一个yaml文件?

Cpp*_*ner 8 python yaml pyyaml

使用YAML和Python的示例

原始YAML文件包含此内容

# tree format
treeroot:
    branch1:
        name: Node 1
        branch1-1:
            name: Node 1-1
    branch2:
        name: Node 2
        branch2-1:
            name: Node 2-1
Run Code Online (Sandbox Code Playgroud)

在使用文件加载内容yaml.load()并将其转储到新的YAML文件后,我得到了这个:

# tree format
treeroot:
    branch1:
        branch1-1: {name:Node 1-1}
        name: Node 1
    branch2:
        branch2-1: {name: Node 2-1}
        name: Node 2
Run Code Online (Sandbox Code Playgroud)

直接从纯python构建YAML文件的正确方法是什么?我不想自己写字符串.我想建立字典和列表.


部分...

dataMap = {'treeroot':
               {'branch2': 
                 {'branch1-1': 
                  {'name': 'Node 1-1'},   # should be its own level
                  'name': 'Node 1'
                 }
               }
          }
Run Code Online (Sandbox Code Playgroud)

Cpp*_*ner 7

好的.我只是仔细检查了文档.我们在结束时需要这个yaml.dump(data, optional_args)

修复就是这个

yaml.dump(dataMap, f, default_flow_style=False)
Run Code Online (Sandbox Code Playgroud)

其中dataMap是源yaml.load(),f是要写入的文件.

  • 此转储不会写入“#tree format”注释。 (2认同)