YAML 是一种文本格式,通常用于配置文件和数据序列化。Python 中可以使用 PyYAML 库来读写 YAML 文件。下面是操作 YAML 文件的教程。
首先需要安装 PyYAML 库,可以使用 pip 命令来安装:
pip install pyyaml
如果安装太慢可以使用清华源来加速安装
pip install pyyaml -i https://pypi.tuna.tsinghua.edu.cn/simple
# example.yaml
name: John
age: 30
languages:
- Python
- Java
- C++
上面的 YAML 文件定义了一个名为 John,年龄为 30 岁,会 Python、Java 和 C++ 三种编程语言的对象。
使用 PyYAML 库的 load 函数来读取 YAML 文件,例如:
import yaml
with open('example.yaml', 'r') as f:
data = yaml.load(f, Loader=yaml.FullLoader)
print(data)
上面的代码中,首先使用 open 函数打开 YAML 文件,然后使用 yaml.load 函数将文件内容加载到 data 变量中。最后打印 data 变量的值。
输出结果为:
{'name': 'John', 'age': 30, 'languages': ['Python', 'Java', 'C++']}
import yaml
data = {
'name': 'John',
'age': 30,
'languages': ['Python', 'Java', 'C++']
}
with open('example2.yaml', 'w') as f:
yaml.dump(data, f)
上面的代码中,首先定义一个 Python 对象 data,然后使用 yaml.dump 函数将其写入到文件 example2.yaml 中。
PyYAML 库中有许多常用的函数和方法,例如:
yaml.load(stream, Loader=yaml.Loader, **kwds):用于从 YAML 文件或字符串中读取数据,并将其转换为 Python 对象。
yaml.dump(data, stream=None, Dumper=yaml.Dumper, **kwds):用于将 Python 对象转换为 YAML 文件或字符串,并将其写入到文件或流中。
yaml.add_constructor(tag, constructor, Loader=yaml.Loader):用于添加自定义的构造函数,以将特定的 YAML 标记转换为 Python 对象。
yaml.add_representer(data_type, representer, Dumper=yaml.Dumper):用于添加自定义的表示函数,以将 Python 对象转换为 YAML 标量。
以上是 PyYAML 库的基本使用方法和一些常用函数和方法。可以使用 PyYAML 来读写 YAML 文件,并将其转换为 Python 对象。