更新时间:2025-09-26 11:16点击:49
在写 Python 项目的时候,最让人头大的环节之一,就是配置文件。
你肯定遇到过:
模型训练路径要配置;
API Key 要配置;
数据库连接参数要配置;
生产环境、测试环境的参数还得区分……
结果就是:项目写着写着,光是管理配置文件就快把人逼疯。
更扎心的是,不同的项目,配置文件格式还五花八门——有人用 .ini,有人用 .json,有人推崇 .yaml,还有 .toml、.env、.xml,甚至直接用 .py 文件来写。
那么问题来了:到底该用哪种?它们有什么区别?在 Python 里怎么读写?
别急,这篇文章我会把 7 种常见的配置方式一次性说清楚,代码实战全给你备好,照着用就行。

一、为什么配置文件这么重要?
在项目开发里,配置文件就像“遥控器”。
你不可能把所有参数写死在代码里吧?
那样一旦换服务器、换数据库、换模型路径,改动起来简直要命。
有了配置文件,就像把遥控器交给你:
想改参数,直接改配置,不用动核心代码;
想区分测试环境和生产环境?复制两份配置文件就行;
想分享项目?把敏感信息放进 .env,别人拿到项目后只要改一改配置,就能跑起来。
所以,配置文件的格式选择,其实决定了你的项目可维护性和扩展性。
二、常见配置格式横向对比
咱们先来个总览,心里有数:
格式
可读性
复杂度
安全性
类型支持
适用场景
INI 高 低 高 基础类型 简单分组配置
JSON 中 中 高 丰富 跨语言、数据交换
YAML 高 高 中 丰富 复杂配置,带注释
XML 低 高 高 丰富 企业级规范
.env 高 低 高 字符串 环境变量、敏感信息
TOML 高 中 高 丰富 Python 项目常用
Python 文件 中 高 低 完全支持 框架级、动态配置
一张表看下来,基本思路就出来了:
简单粗暴用 INI;
要跨语言、交换数据用 JSON;
想要人类友好 + 注释能力强,就上 YAML;
如果你是企业项目、偏 Java 系,可能用 XML;
需要管理敏感信息,.env 几乎是标配;
TOML 是 Python 项目的新宠,兼顾简洁和结构;
框架配置动不动就是 .py 文件(比如 Django),那是特殊情况。
下面我们就一一拆解,看它们在 Python 里怎么用。
三、七种方式逐个过
1. INI 文件 —— 老牌选手
INI 文件最大的优点就是:简单、直观、Python 原生支持。
标准库里有 configparser,拿来就用。
适合场景:配置比较简单,不需要嵌套。
2. JSON 文件 —— 跨语言通吃
几乎所有语言都支持 JSON,这就是它的杀手锏。
Python 里用 json 模块,一行搞定。
适合场景:需要和别的语言/程序交互的数据交换。
3. YAML 文件 —— 人类最友好的配置
YAML 近几年在 Python 圈特别火,优点就是:简洁,还能写注释!
不过要装 pyyaml,标准库没带。
适合场景:复杂项目,需要手动编辑、加注释。
4. TOML 文件 —— Python 官方推荐
TOML 是近年来火起来的,它的设计初衷就是做配置。
Python 官方文档里推荐用它。
适合场景:现代 Python 项目,结构化又简洁。
5. XML 文件 —— 老派企业最爱
XML 在 Java 生态里非常常见,Python 里用得少,主要是写法太啰嗦。
适合场景:企业级规范,或者要和 Java 系统打交道时。
6. 环境变量(.env 文件)—— 敏感信息守护者
密码、API Key、数据库 URL 这些东西,最适合放 .env。
配合 python-dotenv,特别方便。
适合场景:存储敏感配置,环境变量管理。
7. Python 文件 —— 直接上本尊
有些框架直接用 .py 做配置(Django 就是)。
灵活性最高,但也意味着安全性和维护性要小心。
适合场景:框架内部、动态计算配置。
四、怎么选?
一句话总结:
快速小项目:INI
要交换数据:JSON
人类友好:YAML
Python 新项目:TOML
敏感信息:.env
企业/老系统:XML
框架内置:.py
大多数情况下,YAML + TOML + .env 足够覆盖绝大多数 Python 项目需求。
五、最后的话
别小看配置文件,它决定了你的项目是不是“优雅”。
如果配置乱七八糟,项目就会越来越臃肿,哪怕代码写得再漂亮,也会被坑到。
所以,学会正确地管理配置,其实就是在给未来的自己减负。
✍️ 这篇文章,我把 7 种常见方式的特点、优缺点和 Python 读写代码都整理好了。建议收藏,平时写项目直接拿来用,少踩坑。