【问题标题】:How to load a YAML file in Python while preserving the original order如何在 Python 中加载 YAML 文件,同时保留原始顺序
【发布时间】:2023-04-05 17:58:01
【问题描述】:

我想将 YAML 文件加载到字典中。 我发现的所有内容都已过时,因为 Python 3.6 将 dicts 更改为按插入排序。 正确的做法是什么?

【问题讨论】:

  • 列出[(index, line)] 有意义吗?
  • 您可以查看 OrderedDict 为此目的:stackoverflow.com/questions/16782112/…
  • @SerejaBogolubov 我的字典是嵌套的。我不确定这是否可行。我更喜欢听写,特别是因为他们现在保持秩序。我想读取 yaml,更改一些值,然后再次转储。我认为这对字典来说是最简单的。 (如果您认为它们会起作用,请提出不同的建议)
  • @NicoMüller Dict 和 OrderedDict 有什么区别,现在 dicts 是按插入排序的?

标签: python


【解决方案1】:

使用 ruamel 可以做到这一点。

import ruamel.yaml

yaml = ruamel.yaml.YAML(typ='safe')
with open(path_to_file) as file:
    my_dict = yaml.load(file)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-01-13
    • 1970-01-01
    • 2020-08-31
    • 2015-10-14
    • 1970-01-01
    • 2018-08-01
    • 1970-01-01
    相关资源
    最近更新 更多