📜  使用 python 处理 yaml(1)

📅  最后修改于: 2023-12-03 14:49:45.621000             🧑  作者: Mango

使用 Python 处理 YAML

什么是 YAML?

YAML (全称为YAML Ain't Markup Language, 表示YAML不是一个标记语言) 是一种简单的数据序列化格式,用于将结构化数据转换为纯文本文件。

与 JSON 或 XML 一样,YAML 也采用键值对的形式来存储数据,但相比之下,YAML 更加人类可读,并且具有更好的可扩展性。

Python 中的 YAML

由于 YAML 的易读性和可扩展性,许多编程语言都支持 YAML。在 Python 中,处理 YAML 数据非常容易。

在 Python 中,我们可以使用 PyYAML 库来处理 YAML 数据。PyYAML 带有一个非常易用的 API,使得读取和写入 YAML 数据变得十分简单。

通过使用 PyYAML,我们可以读取一个 YAML 文件并将其转换为 Python 对象,然后可以将 Python 对象转换为 YAML 文件。

安装 PyYAML

要开始使用 PyYAML,我们首先需要安装它。在命令行中,使用以下命令安装:

pip install PyYAML
用 Python读取 YAML 文件

让我们从读取 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 文件。在下面的示例中,我们将使用上面示例中的 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 中处理配置文件和其他结构化数据变得非常方便。