toml 是 Python 的第三方庫,用于解析和生成 TOML(Tom’s Obvious, Minimal Language) 格式的配置文件。TOML 是一種簡潔、直觀、易讀的配置語言,廣泛用于 Python 項目、工具和應(yīng)用配置,如 Poetry、Pipenv 等。
安裝 :
pip install toml常見應(yīng)用場景:
(1)讀取配置文件
從 .toml 文件加載應(yīng)用配置,如數(shù)據(jù)庫、日志、API Key 等。
(2)生成配置文件
將 Python 字典或?qū)ο蟊4鏋?TOML 文件,便于項目管理。
(3)工具配置
用于管理 Python 項目工具配置,例如 Poetry 的 pyproject.toml。
(4)跨平臺可讀性
TOML 文件結(jié)構(gòu)清晰,易于手工編輯和版本控制。
(5)替代 JSON 或 INI
相比 JSON、INI 文件,TOML 支持注釋和更復(fù)雜的數(shù)據(jù)結(jié)構(gòu)。
◆ ◆ ◆
核心概念
1、TOML 文件結(jié)構(gòu)
TOML 文件由鍵值對(key-value)、表(table)和數(shù)組(array)組成:
data = [ ["gamma", "delta"], [1, 2] ]? [section] 表示一個表(Table)。
? key = value 表示一個鍵值對。
? 支持嵌套表和數(shù)組。
2、Python 對應(yīng)結(jié)構(gòu)
? TOML 文件 → Python 字典。
? 表(Table) → 嵌套字典。
? 數(shù)組 → Python 列表。
3、主要功能
? 加載 TOML:解析文件或字符串為 Python 字典。
? 寫入 TOML:將 Python 字典寫入 TOML 文件。
? 支持基礎(chǔ)數(shù)據(jù)類型:字符串、整數(shù)、浮點數(shù)、布爾值、日期時間、數(shù)組等。
◆ ◆ ◆
應(yīng)用舉例
例 1:讀取 TOML 文件
print(config["database"]["server"]) # 輸出: localhost例 2:從字符串解析 TOML
print(data["server"]["port"]) # 輸出: 8080例 3:寫入 TOML 文件
toml.dump(data, open("output.toml", "w"))例 4:轉(zhuǎn)換 Python 字典為 TOML 字符串
print(toml_str)輸出:
version = "1.0"例 5:處理復(fù)雜嵌套結(jié)構(gòu)
toml.dump(config, open("complex.toml", "w"))◆ ◆ ◆
常用函數(shù)速覽
toml.load(f)
從文件對象或路徑加載 TOML 文件。
參數(shù):文件對象或文件路徑。
返回:Python 字典。
toml.loads(s)
從字符串解析 TOML。
參數(shù):TOML 格式字符串。
返回:Python 字典。
toml.dump(data, f)
將 Python 字典寫入 TOML 文件。
參數(shù):data(字典)、f(文件對象)。
返回:無。
toml.dumps(data)
將 Python 字典轉(zhuǎn)換為 TOML 字符串。
參數(shù):data(字典)。
返回:TOML 格式字符串。
小結(jié)
toml 是 Python 中處理 TOML 配置文件的標(biāo)準(zhǔn)工具,支持解析、生成以及字符串轉(zhuǎn)換。
它以簡單直觀的方式將 TOML 文件映射到 Python 字典,適合管理應(yīng)用配置、工具配置及跨平臺項目。
通過 load()、loads()、dump() 和 dumps(),開發(fā)者可以方便地讀寫 TOML 文件,提升項目配置管理的效率和可維護(hù)性。
![]()
“點贊有美意,贊賞是鼓勵”
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.