1. INI 格式
特点:简单键值对,支持分节(Section)。
文件扩展名:.ini, .cfg
Python 库:内置 configparser 模块。
示例:
ini[database]
host = localhost
port = 3306
user = admin
password = secret
适用场景:轻量级配置,结构分层清晰。
2. JSON 格式
特点:结构化数据,支持嵌套,易读性高。
文件扩展名:.json
Python 库:内置 json 模块。
示例:
json{
"database": {
"host": "localhost",
"port": 3306,
"credentials": {
"user": "admin",
"password": "secret"
}
}
}
适用场景:复杂数据结构,需跨语言兼容时。
3. YAML 格式
特点:易读性强,支持复杂结构(列表、字典),支持注释。
文件扩展名:.yaml, .yml
Python 库:需安装 PyYAML 库。
示例:
yamldatabase:
host: localhost
port: 3306
credentials:
user: admin
password: secret
适用场景:需要高可读性和复杂配置时。
4. TOML 格式
特点:专为配置设计,支持更丰富的数据类型(如日期、时间)。
文件扩展名:.toml
Python 库:需安装 tomlkit 或 tomli。
示例:
toml[database]
host = "localhost"
port = 3306
[database.credentials]
user = "admin"
password = "secret"
适用场景:需要强类型或复杂配置的场景。
- 环境变量
特点:通过系统环境变量传递配置,适合动态环境。
Python 库:内置 os 模块。
示例:
# 终端中设置
export DB_HOST="localhost"
export DB_PORT=3306
# python中使用
import os
db_host = os.getenv("DB_HOST")
db_port = int(os.getenv("DB_PORT"))
适用场景:容器化部署、多环境配置(开发/生产)。
6. XML 格式
特点:结构化标记语言,支持复杂嵌套。
文件扩展名:.xml
Python 库:内置 xml.etree.ElementTree。
示例:
xml<database>
<host>localhost</host>
<port>3306</port>
<credentials>
<user>admin</user>
<password>secret</password>
</credentials>
</database>
适用场景:需要与 Java 等其他语言交互时。
7. Python 脚本(.py 文件)
特点:直接编写 Python 代码作为配置。
文件扩展名:.py
示例:
python# config.py
DATABASE = {
"host": "localhost",
"port": 3306,
"user": "admin",
"password": "secret"
}
python
from config import DATABASE
适用场景:需要动态生成配置或复杂逻辑时。
8. .env 文件
特点:类似环境变量,但存储在文件中。
文件扩展名:.env
Python 库:需安装 python-dotenv。
示例:
envDB_HOST=localhost
DB_PORT=3306
python
from dotenv import load_dotenv
import os
load_dotenv()
db_host = os.getenv("DB_HOST")
适用场景:管理敏感信息(需配合 .gitignore)。
选择建议:
简单配置:INI、JSON、环境变量。
复杂结构:YAML、TOML。
跨语言/兼容性:JSON、XML。
动态环境:环境变量、.env 文件。
根据项目需求(如可读性、复杂度、维护性)选择合适的格式即可。
1416

被折叠的 条评论
为什么被折叠?



