tomllib
— 解析 TOML 文件¶
3.11 版新增。
**源代码:** Lib/tomllib
此模块提供了一个用于解析 TOML(Tom’s Obvious Minimal Language,https://toml.cn)的接口。此模块不支持写入 TOML。
另请参阅
TOML Kit 包 是一个具有读取和写入功能的保留样式的 TOML 库。对于编辑现有 TOML 文件,建议使用它来替换此模块。
此模块定义了以下函数
- tomllib.load(fp, /, *, parse_float=float)¶
读取 TOML 文件。第一个参数应该是一个可读的二进制文件对象。返回一个
dict
。使用此 转换表 将 TOML 类型转换为 Python 类型。parse_float 将使用每个要解码的 TOML 浮点数的字符串调用。默认情况下,这等效于
float(num_str)
。这可以用于对 TOML 浮点数使用其他数据类型或解析器(例如decimal.Decimal
)。可调用对象不能返回dict
或list
,否则会引发ValueError
。如果 TOML 文档无效,将引发
TOMLDecodeError
。
- tomllib.loads(s, /, *, parse_float=float)¶
从
str
对象加载 TOML。返回一个dict
。使用此 转换表 将 TOML 类型转换为 Python 类型。parse_float 参数的含义与load()
中的相同。如果 TOML 文档无效,将引发
TOMLDecodeError
。
以下异常可用
- 异常 tomllib.TOMLDecodeError¶
ValueError
的子类。
例子¶
解析 TOML 文件
import tomllib
with open("pyproject.toml", "rb") as f:
data = tomllib.load(f)
解析 TOML 字符串
import tomllib
toml_str = """
python-version = "3.11.0"
python-implementation = "CPython"
"""
data = tomllib.loads(toml_str)
转换表¶
TOML |
Python |
---|---|
TOML 文档 |
字典 |
字符串 |
字符串 |
整数 |
整数 |
浮点数 |
浮点数(可使用 parse_float 配置) |
布尔值 |
布尔值 |
带偏移量的日期时间 |
datetime.datetime( |
本地日期时间 |
datetime.datetime( |
本地日期 |
datetime.date |
本地时间 |
datetime.time |
数组 |
列表 |
表 |
字典 |
内联表 |
字典 |
表数组 |
字典列表 |