Python程序常用的配置文件格式和样例

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"

适用场景:需要强类型或复杂配置的场景。

  1. 环境变量
    特点:通过系统环境变量传递配置,适合动态环境。
    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 文件。
根据项目需求(如可读性、复杂度、维护性)选择合适的格式即可。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值