Python
- 基础
-
库
- 其他
- argparse命令行参数解析
- asyncio自带异步编程库
- aiofiles异步文件读写库
- beautifulsoup4_HTML_XML解析库
- colorama_在终端输出漂亮的字
- datasets数据集处理
- html2text
- httpx_HTTP请求库
- litellm
- loguru日志库
- numpy科学计算基础库
- pillow图像处理
- pydantic数据验证
- pyyaml
- requests_HTTP请求库
- tenacity重试
- tiktoken计算Token量
- torch机器学习_深度学习框架
- tomli TOML文件解析库
- tomllib 自带TOML文件解析库
- unidiff_文本_文件差异对比
- uvicorn_Web服务器
- langchain
`tomllib` 是 Python 3.11 开始内置引入的一个标准库模块,用于**解析 TOML 格式的配置文件**。
---
## ✅ 一、什么是 TOML?
**TOML**(Tom's Obvious, Minimal Language)是一种**轻量级、易读的配置文件格式**,目标是成为比 JSON、INI 更清晰、更结构化的配置语言。
它广泛用于项目的配置文件中,比如 Python 的 `pyproject.toml` 就是使用 TOML 格式编写的。
📝 示例(一个简单的 TOML 文件内容):
```toml
title = "示例配置"
[server]
host = "127.0.0.1"
port = 8080
[database]
user = "admin"
password = "123456"
```
---
## ✅ 二、`tomllib` 是什么?
`tomllib` 是 Python **3.11 及以上版本**内置的标准库模块(位于 `import tomllib`),它提供了一种**官方、标准、无需安装第三方库的方式来解析 TOML 文件**。
它的主要功能是:
> **将 TOML 格式的字符串或文件内容,解析为 Python 的字典(dict)对象,方便你在代码中使用。**
---
## ✅ 三、基本用法(Python 3.11+)
### 1. 从字符串解析 TOML:
```python
import tomllib
toml_str = """
title = "示例"
[server]
host = "127.0.0.1"
"""
data = tomllib.loads(toml_str) # 解析字符串
print(data["title"]) # 输出:示例
print(data["server"]["host"]) # 输出:127.0.0.1
```
### 2. 从文件读取并解析 TOML:
```python
import tomllib
with open("config.toml", "rb") as f: # 注意:必须是二进制模式 'rb'
data = tomllib.load(f) # 解析文件内容
print(data["title"])
```
> ⚠️ 注意:`tomllib.load()` 要求传入的是以 `'rb'`(二进制读)模式打开的文件对象,不是文本模式 `'r'`。
---
## ✅ 四、为什么用 `tomllib`?
- **官方标准库**:Python 3.11 自带,无需安装第三方包(比如之前常用的 `tomli`)。
- **轻量、安全、稳定**:作为标准库,长期维护,与 Python 生态集成更好。
- **和 `tomli` 几乎一样**:`tomllib` 实际上是 Python 官方对社区优秀第三方库 `tomli` 的采纳和内置化。
---
## ✅ 五、如果你用的是 Python 3.10 或更低版本怎么办?
在 Python 3.11 之前,官方没有内置 `tomllib`,但你可以使用功能几乎一样的第三方库:
🔧 安装:
```bash
pip install tomli
```
📘 使用方式(和 tomllib 几乎一致,只是模块名不同):
```python
import tomli
with open("config.toml", "rb") as f:
data = tomli.load(f)
```
> 只需把 `tomllib` 换成 `tomli` 即可。用法和功能几乎一模一样。
---
## ✅ 六、总结(中文,简明版)
| 项目 | 说明 |
|------|------|
| **tomllib 是什么?** | Python 3.11+ 内置的标准库模块,用于解析 TOML 格式的配置文件 |
| **TOML 是什么?** | 一种易读、结构化的配置文件格式,常用于 `pyproject.toml` 等场景 |
| **主要功能** | 将 TOML 文本或文件解析为 Python 字典(dict),便于程序使用 |
| **使用方法** | `import tomllib`,然后使用 `tomllib.load()` 或 `tomllib.loads()` |
| **注意** | 文件需用 `'rb'`(二进制模式)打开;Python 3.10 或更早版本需安装第三方库 `tomli` |
---
如你正在处理 `pyproject.toml` 或其他 TOML 配置文件,使用 `tomllib`(或 `tomli`)是最推荐的方式之一。欢迎继续提问!