JSON 和 YAML

JSON

JSON 代表 JavaScript Object Notation,是一种用于存储和传输数据的轻量级格式。当数据从服务器发送到网页时,通常会使用 JSON。

# 读取 JSON 文件:json.load() 从文件对象解析 JSON
import json
with open("filename.json", "r") as f:  # 以读取模式打开文件
    content = json.load(f)  # 解析 JSON 并返回 Python 字典/列表

写入包含以下内容的 JSON 文件:

# 写入 JSON 文件:json.dump() 将 Python 对象写入 JSON
import json

content = {"name": "Joe", "age": 20}
with open("filename.json", "w") as f:  # 以写入模式打开文件
    json.dump(content, f, indent=2)  # 写入 JSON,使用 2 个空格缩进
测验

登录后即可答题并追踪学习进度

哪个函数用于将 Python 字典写入 JSON 文件?
A. json.write()
B. json.dump()
C. json.save()
D. json.export()

YAML

与 JSON 相比,YAML 具有更好的人类可维护性,并提供了添加注释的能力。对于需要人工编辑的配置文件来说,它是一个方便的选择。

允许访问 YAML 文件的主要库有两个:

在您的虚拟环境中,使用 pip install 安装它们。

第一个更容易使用,但第二个 Ruamel 更好地实现了 YAML 规范,并允许例如在不更改注释的情况下修改 YAML 内容。

使用以下方法打开 YAML 文件:

# 使用 ruamel.yaml 库读取 YAML 文件
from ruamel.yaml import YAML

with open("filename.yaml") as f:
    yaml=YAML()  # 创建 YAML 解析器实例
    yaml.load(f)  # 解析 YAML 并返回 Python 字典/列表
测验

登录后即可答题并追踪学习进度

YAML 相对于 JSON 的一个优点是什么?
A. YAML 文件更小
B. YAML 解析速度更快
C. YAML 允许注释且更易于人类阅读
D. YAML 是 Python 内置的

Anyconfig

Anyconfig 是一个非常方便的包,它允许完全抽象底层配置文件格式。它可以从 JSON、YAML、TOML 等加载 Python 字典。

使用以下命令安装它:

pip install anyconfig

用法:

# anyconfig: 以各种格式(JSON、YAML、TOML 等)加载配置文件
import anyconfig
conf1 = anyconfig.load("/path/to/foo/conf.d/a.yml")  # 自动检测格式
测验

登录后即可答题并追踪学习进度

anyconfig 库允许您做什么?
A. 以各种格式(JSON、YAML、TOML)加载配置文件,而无需指定格式
B. 在不同配置格式之间转换
C. 验证配置文件语法
D. 加密配置文件

相关链接