如何在Python中解析YAML文件?

推荐答案

PyYaml(documentation)是不依赖C头的最简单、最纯粹的方法,它可以通过101安装:

#!/usr/bin/env python

import yaml

with open("example.yaml", "r") as stream:
    try:
        print(yaml.safe_load(stream))
    except yaml.YAMLError as exc:
        print(exc)

就这样了.也存在普通的yaml.load()函数,但yaml.safe_load()应该始终是首选的,除非您明确需要提供任意对象序列化/反序列化,以避免引入执行任意代码的可能性.

请注意,PyYaml项目支持YAML 1.1 specification以上的版本.如果需要YAML 1.2 specification支撑,参见this answer中的ruamel.yaml.

此外,您还可以使用一个drop-in替换pyyaml,使您的yaml文件保持the same way you had it个有序,称为oyaml.视图synk of oyaml here

Python相关问答推荐

当值是一个integer时,在Python中使用JMESPath来验证字典中的值(例如:1)

实现的差异取决于计算出的表达是直接返回还是首先存储在变量中然后返回

将轨迹优化问题描述为NLP.如何用Gekko解决这个问题?当前面临异常:@错误:最大方程长度错误

Python中使用时区感知日期时间对象进行时间算术的Incredit

对Numpy函数进行载体化

max_of_three使用First_select、second_select、

如何删除索引过go 的lexsort深度可能会影响性能?' &>

. str.替换pandas.series的方法未按预期工作

更改键盘按钮进入'

如何让程序打印新段落上的每一行?

根据二元组列表在pandas中创建新列

使用NeuralProphet绘制置信区间时出错

在Python 3中,如何让客户端打开一个套接字到服务器,发送一行JSON编码的数据,读回一行JSON编码的数据,然后继续?

为什么在FastAPI中创建与数据库的连接时需要使用生成器?

如何在Python中使用Iscolc迭代器实现观察者模式?

使用类型提示进行类型转换

裁剪数字.nd数组引发-ValueError:无法将空图像写入JPEG

如何在PythonPandas 中对同一个浮动列进行逐行划分?

从列表中分离数据的最佳方式

Matplotlib中的曲线箭头样式