Python配置管理核心是选格式(JSON/INI/YAML)并安全读写:JSON轻量适扁平配置,内置模块需防敏感信息;INI分节清晰适本地工具,configparser需检查读取结果;YAML表达力强适复杂场景,须用safe_load防RCE。

Python 中管理配置文件,核心是根据项目需求选择合适格式(JSON、INI、YAML),再用标准或第三方库安全读写。关键不是“怎么写语法”,而是“怎么设计结构、避免硬编码、防止敏感信息泄露、支持环境切换”。下面分三类讲清实用要点。
JSON:轻量、跨语言、适合简单结构
适合存储 API 地址、开关标志、静态参数等扁平化配置。Python 内置 json 模块开箱即用,无需安装额外依赖。
- 读取时用 json.load()(文件对象)或 json.loads()(字符串),注意捕获 json.JSONDecodeError 异常
- 写入推荐加 indent=2 和 ensure_ascii=False,保证中文可读、格式清晰
- 不要把密码、密钥存 JSON——它不加密也不支持注释,仅作数据载体
INI:兼容传统、分节清晰、适合本地工具配置
Windows 风格的键值对 + 分节(如 [database]),Python 内置 configparser 完全支持。
说明:用途:程序员、美工、中小型科技公司接单建站使用1.将此文件夹下的文件传入根目录下2.数据库文件:company.sql3.把数据库文件导入数据库4.修改数据库链接信息(用户名、密码,数据库名):/inc/dabase_mysql.php5.超级帐号webmaster 密码:123456 后台管理目录/cdguanli6.后台栏目配置和前台插件的调用方式,请见官网教程。7.前台插件调用示例相比
- 读取前调用 config.read(),建议检查返回列表是否为空,避免静默失败
- 获取值统一用 get() 方法(如 config.get('db', 'host')),它自动处理类型转换和默认值
- 写入需先修改 ConfigParser 实例,再用 write() 输出到文件;注意手动添加换行或头部注释需额外处理
YAML:表达力强、支持嵌套与引用、适合复杂配置
比 JSON 更易读,比 INI 更灵活,常用于 Flask/Django 项目、CI/CD 配置。需安装 PyYAML:pip install pyyaml
立即学习“Python免费学习笔记(深入)”;
- 读取优先用 yaml.safe_load(),禁用 yaml.load()(有远程代码执行风险)
- 写入用 yaml.dump(),加上 allow_unicode=True 和 default_flow_style=False 保持可读性
- 支持锚点(&common)和引用(*common),适合多环境共用字段(如日志路径、基础 URL)









