在python中迭代YAML列表

Rikg09

我正在尝试读取 YAML 文件并按照文件中的顺序打印出我在那里的列表。

所以YAML:

b: ...
a: ...

我的蟒蛇是:

for key, value in yaml.load(open(input_file)).items():
    print(str(key))

输出变为:

a
b

不过,我需要它b,然后a我也试过iteritems(),我得到了同样的结果。

安东

如果您的 YAML 文件包含:

b: 2
a: 1

然后像这样解析:

from ruamel.yaml import YAML

yaml = YAML()
input_file = 'input.yaml'

for key, value in yaml.load(open(input_file)).items():
    print(str(key))

b首先打印但是,如果您使用(更快):

yaml = YAML(typ='safe')

这不能保证,因为 YAML 规范不保证映射键的顺序。

如果您使用的是 YAML 1.1 和 PyYAML,则没有这样的顺序保证,但是您yaml.load()首先不应该使用,因为它是不安全的。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章