📅  最后修改于: 2023-12-03 14:49:45.621000             🧑  作者: Mango
YAML (全称为YAML Ain't Markup Language, 表示YAML不是一个标记语言) 是一种简单的数据序列化格式,用于将结构化数据转换为纯文本文件。
与 JSON 或 XML 一样,YAML 也采用键值对的形式来存储数据,但相比之下,YAML 更加人类可读,并且具有更好的可扩展性。
由于 YAML 的易读性和可扩展性,许多编程语言都支持 YAML。在 Python 中,处理 YAML 数据非常容易。
在 Python 中,我们可以使用 PyYAML 库来处理 YAML 数据。PyYAML 带有一个非常易用的 API,使得读取和写入 YAML 数据变得十分简单。
通过使用 PyYAML,我们可以读取一个 YAML 文件并将其转换为 Python 对象,然后可以将 Python 对象转换为 YAML 文件。
要开始使用 PyYAML,我们首先需要安装它。在命令行中,使用以下命令安装:
pip install PyYAML
让我们从读取 YAML 文件开始。在下面的示例中,我们将读取一个包含 YAML 数据的文件,并将其转换为 Python 字典。
下面是 YAML 文件的示例:
- name: Alice
age: 30
email: alice@example.com
- name: Bob
age: 35
email: bob@example.com
下面是将该 YAML 文件转换为 Python 字典的代码:
import yaml
with open("example.yaml", "r") as f:
data = yaml.safe_load(f)
print(data)
输出:
[
{'name': 'Alice', 'age': 30, 'email': 'alice@example.com'},
{'name': 'Bob', 'age': 35, 'email': 'bob@example.com'}
]
在上面的代码中,我们使用了 yaml.safe_load()
函数来将 YAML 数据解析为 Python 字典。
接下来,让我们来看一下如何将 Python 字典转换为 YAML 文件。在下面的示例中,我们将使用上面示例中的 Python 字典来生成 YAML 文件。
import yaml
data = [
{'name': 'Alice', 'age': 30, 'email': 'alice@example.com'},
{'name': 'Bob', 'age': 35, 'email': 'bob@example.com'}
]
with open("example.yaml", "w") as f:
yaml.dump(data, f)
在上面的代码中,我们使用了 yaml.dump()
函数将 Python 字典转换为 YAML 数据,并将其写入 example.yaml
文件中。
使用 Python 处理 YAML 非常简单。使用 PyYAML 库,我们可以轻松地将 YAML 文件读取到 Python 对象中,或者将 Python 对象转换为 YAML 文件。这使得在 Python 中处理配置文件和其他结构化数据变得非常方便。