悠悠楠杉
网站页面
在Python开发中,环境变量是管理敏感信息(如API密钥、数据库密码)和区分不同运行环境(开发/生产)的核心工具。与直接硬编码在脚本中相比,环境变量能显著提升安全性和灵活性。本文将系统介绍环境变量的配置方法,并提供实战代码示例。
通过图形界面设置:
- 右键“此电脑” → 属性 → 高级系统设置 → 环境变量 → 在“用户变量”或“系统变量”中新增。
通过命令行(临时生效):cmd
set MY_VARIABLE=my_value
临时生效(终端会话内):bash
export MY_VARIABLE="my_value"
永久生效:将上述命令添加到~/.bashrc或~/.zshrc文件中。
os模块Python内置的os模块可直接读写环境变量:
import os
# 设置环境变量(仅当前进程有效)
os.environ["DB_HOST"] = "localhost"
# 获取环境变量
db_host = os.getenv("DB_HOST", "default_host") # 第二个参数为默认值
print(f"数据库地址:{db_host}")
python-dotenv管理.env文件项目根目录创建.env文件:env
SECRET_KEY=your_secure_key
DEBUG=True
通过python-dotenv加载:
from dotenv import load_dotenv
load_dotenv() # 自动加载.env文件
secret = os.getenv("SECRET_KEY")
if os.getenv("DEBUG") == "True":
print("调试模式已开启")
在Web开发中,环境变量常用于配置框架参数。以Flask为例:
from flask import Flask
import os
app = Flask(__name__)
app.config["SECRET_KEY"] = os.getenv("FLASK_SECRET_KEY", "fallback_key")
@app.route("/")
def home():
return "环境变量配置成功!"
if __name__ == "__main__":
app.run(debug=os.getenv("FLASK_DEBUG") == "True")
.gitignore中。-e参数传递环境变量。通过合理使用环境变量,你的Python项目将更安全、更易于维护。现在就去尝试吧!