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. 加密配置文件