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