Python yaml safe_load:如何保持原始顺序

问题描述 投票:0回答:1

我正在使用

yaml.safe_load
方法来处理文件,我可以看到该调用返回的数据的顺序不同

这是我的代码:

    a=yam.safe_load('{"method1": "value1","method2": "value2"}' )
    print(a)

这是输出

{'method2': 'value2', 'method1': 'value1'}

我该怎么做才能保留原来的订单?

python yaml
1个回答
1
投票

safe_load
方法已被弃用。确保使用默认参数实例化您的
YAML
实例:

from ruamel.yaml import YAML

data = yaml.load('{"method1": "value1","method2": "value2"}')
for key in data:
    print(key)

根据 YAML 规范,映射中键的顺序不会被保留。这对于保存到修订控制的文件中的 YAML 文档没有用。上面表示 Python 2 和 3 的有序字典子类中的映射,并自动保留顺序(以及注释、标签等)。

© www.soinside.com 2019 - 2024. All rights reserved.