Python项目通过环境变量驱动配置加载,结合分层配置类(基类+环境子类)实现开发、测试、生产等环境自动适配,支持.env文件自动注入及YAML/JSON声明式配置。

Python项目中,配置文件要能根据开发、测试、生产等不同环境自动加载对应设置,核心在于“环境变量驱动 + 配置分层”。不靠硬编码,也不手动改文件,而是让程序启动时自己识别当前环境并载入相应配置。
用环境变量控制配置加载
最轻量也最常用的方式:通过 ENV 或 FLASK_ENV(Flask)等环境变量指定当前环境。代码中读取后拼接配置文件名或选择配置类。
- 在终端设置:export ENV=production(Linux/macOS)或 set ENV=production(Windows)
- Python 中读取:import os; env = os.getenv('ENV', 'development')
- 据此加载 config/development.py、config/production.py 等模块
配置类继承实现分层管理
定义一个基类存通用配置,再为各环境写子类继承并覆盖差异项。结构清晰、复用性高,适合中大型项目。
- 基类 Config:数据库URL默认用 SQLite,DEBUG=False,日志级别设为 INFO
- 子类 DevelopmentConfig(Config):开启 DEBUG=True,用本地 MySQL,启用 Flask 调试工具栏
- 子类 ProductionConfig(Config):禁用 DEBUG,换为远程 PostgreSQL,关闭敏感信息输出
- 启动时根据 ENV 值动态实例化对应类:app.config.from_object(config[env])
支持 .env 文件的自动化加载
用 python-dotenv 库可自动读取项目根目录下的 .env 文件,把键值对注入环境变量,无需手动 export。
本文档主要讲述的是Eclipse配置Tomcat教程;Eclipse IDE: eclipse IDE 用作 JSP 页面和 Java 文件的开发环境。Eclipse 是一个非常简单易用的 IDE 环境,它具有很多特性,可以帮助程序员快速编写并调试 Java 程序。加上 tomcat 插件之后,这个 IDE 就是管理整个 Web 项目(包括 HTML 和 JSP 页面、图标和 servlet)的一个非常优秀的工具。 Tomcat: 驱动 JSP 页面需要使用 Tomcat。Tomcat 引擎是非常好的一个
立即学习“Python免费学习笔记(深入)”;
- 安装:pip install python-dotenv
- 创建 .env:ENV=staging
DB_HOST=10.0.1.5
SECRET_KEY=dev-secret - 在应用入口处加一行:from dotenv import load_dotenv; load_dotenv()
- 后续所有 os.getenv() 都能直接读到 .env 里的值
YAML/JSON 配置 + 环境占位符方案
适合偏好声明式配置的团队。用单个 config.yaml 文件,内含多环境 section,并借助模板渲染或预处理器注入实际值。
- 示例片段:production:
database:
url: ${DB_URL} - 运行前用 os.getenv('DB_URL') 替换占位符,或用 pydantic-settings 自动绑定环境变量
- 优势是配置集中、易版本管理;注意避免敏感信息明文提交到 Git(配合 .gitignore 排除 .env 或加密字段)









