python - 如何从纯 python 创建 yaml 文件?

标签 python yaml pyyaml

示例来自 Using YAML with 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

在使用 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

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


部分...

dataMap = {'treeroot':
               {'branch2': 
                 {'branch1-1': 
                  {'name': 'Node 1-1'},   # should be its own level
                  'name': 'Node 1'
                 }
               }
          }

最佳答案

好的。我只是仔细检查了文档。我们在 yaml.dump(data, optional_args)

的末尾需要这个

修复是这个

yaml.dump(dataMap, f, default_flow_style=False)

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

关于python - 如何从纯 python 创建 yaml 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9135275/

相关文章:

python - 警告可以在不从函数返回的情况下发出警告吗?

python - 无法在同一文件夹中导入模块

python - 在 PyYaml 中转储为 utf-8

python - Yaml 通过 Camel 序列化 : using base class load/dump and accessing type(self) in decorator

python - 有没有办法使用 xlrd 关闭工作簿

python - python 中的 fork 服务器

azure - Azure 管道上的 CI 触发器

ruby - 多级关联的数据库对象到 YAML

python - 从 YAML 加载无限嵌套元组

Python yaml 在引号中生成很少的值