PyYAML YAML解析

YAML(YAML Ain't Markup Language)是一种新型数据交换格式,相比传统的XML和JSON,由于YAML具有良好的可读性,因此常用作应用程序的配置文件。这篇笔记我们学习如何使用PyYAML库读取YAML配置文件。

安装PyYAML库

我们使用pip命令安装PyYAML库。

pip install PyYAML

解析YAML字符串

测试使用的YAML内容如下。

name: "Tom"
age: 10
languages:
  - name: "python"
    developer: "Guido van Rossum"
    maintainer: "python.org"
  - name: "java"
    developer: "James Gosling"
    maintainer: "oracle"
  - name: "c"
    developer: "AT&T Bell Laboratory"

下面例子从一个YAML文件中读取数据,返回dict对象。

import yaml

with open("test.yaml", "r") as fp:
    data = yaml.load(fp, Loader=yaml.FullLoader)
    print(data)

yaml.load()方法可以传入一个文件对象,也可以直接传入一个YAML字符串。

序列化字典到YAML

下面例子代码将一个dict对象序列化为YAML字符串。

str = yaml.dump(dict)
print(str)

运行结果如下。

age: 10
languages:
- {developer: Guido van Rossum, maintainer: python.org, name: python}
- {developer: James Gosling, maintainer: oracle, name: java}
- {developer: AT&T Bell Laboratory, name: c}
name: Tom

我们可以看到结果和原来不太一样,不过YAML也支持这种写法,因此这里和原来的内容是等价的。

作者:Gacfox
版权声明:本网站为非盈利性质,文章如非特殊说明均为原创,版权遵循知识共享协议CC BY-NC-ND 4.0进行授权,转载必须署名,禁止用于商业目的或演绎修改后转载。