tomllib
— 解析 TOML 檔案¶
在 3.11 版本中新增。
原始碼: Lib/tomllib
此模組提供了一個用於解析 TOML 1.0.0 (Tom’s Obvious Minimal Language, https://toml.io) 的介面。此模組不支援寫入 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
。
以下異常可用
- 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 |
字串 |
str |
整數 |
int |
浮點數 |
浮點數(可使用 parse_float 配置) |
布林值 |
bool |
帶偏移量的日期時間 |
datetime.datetime( |
本地日期時間 |
datetime.datetime( |
本地日期 |
datetime.date |
本地時間 |
datetime.time |
陣列 |
list |
表格 |
dict |
內聯表格 |
dict |
表格陣列 |
字典列表 |