tomllib --- 解析 TOML 文件¶
Added in version 3.11.
源代码: Lib/tomllib
This module provides an interface for parsing TOML 1.0.0 (Tom's Obvious Minimal Language, https://toml.io). This module does not support writing TOML.
参见
TOML Kit 包 一个是兼具读取和写入功能的保留样式的 TOML 库。 它是用于编辑现有 TOML 文件的本模块的推荐替代品。
这个模块定义了以下函数:
- tomllib.load(fp, /, *, parse_float=float)¶
 读取一个 TOML 文件。第一个参数应该是一个可读的二进制文件对象。返回
dict。使用 转换表 将 TOML 类型转换为 Python。对每个要解析的 TOML 浮点数字符串调用 parse_float。默认情况下,这相当于
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。
有以下几种异常:
- exception 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 文档  | 
dict  | 
string  | 
str  | 
integer  | 
int  | 
float  | 
float(可用 parse_float 配置)  | 
boolean  | 
bool  | 
offset date-time  | 
datetime.datetime(  | 
local date-time  | 
datetime.datetime (  | 
local date  | 
datetime.date  | 
local time  | 
datetime.time  | 
array  | 
list  | 
table  | 
dict  | 
内联表  | 
dict  | 
表数组  | 
字典列表  |