赛博红兔的科技博客

CyberHongTu shares news, insights, and musings on fascinating technology subjects.


Python5分钟: 10. 使用dotenv库管理敏感信息

在这集《Python五分钟》,我们要学习如何使用 dotenv 库管理敏感信息,通过将信息存储在 .env 文件中,避免敏感数据的硬编码。

关键步骤:

  1. 安装和使用 dotenv:首先,使用 pip install python-dotenv 安装库,并创建 .env 文件,存储用户名和密码等敏感信息。
  2. .env 文件规则
    • 使用键值对格式。
    • 支持注释。
    • 值包含空格时,需用引号包裹。
    • 使用 .gitignore 文件忽略 .env,避免敏感信息泄露。
  3. 加载 .env 文件并使用
    • 使用 load_dotenv() 函数加载 .env 文件,将变量存入 os.environ 环境中。
    • 通过 os.getenv() 访问环境变量。以下是代码示例:
from dotenv import load_dotenv
import os

# 加载 .env 文件
load_dotenv()

# 读取环境变量
user_name = os.getenv('MY_USERNAME')
user_password = os.getenv('MY_PASSWORD')

print(user_name)
print(user_password)

4. 管理多个环境配置:通过不同的 .env 文件(如 .env.development, .env.testing, .env.production)管理开发、测试和生产环境的配置。示例代码如下:

import os
from dotenv import load_dotenv

# 获取当前环境,默认为开发环境
environment = os.getenv('ENVIRONMENT', 'development')

# 加载对应环境的 .env 文件
env_file = f'.env.{environment}'
load_dotenv(env_file)

# 读取环境变量
db_user = os.getenv('DB_USER')
db_password = os.getenv('DB_PASS')
debug = os.getenv('DEBUG')

print(f'Environment: {environment}')
print(f'DB_USER: {db_user}')
print(f'DB_PASS: {db_password}')
print(f'DEBUG: {debug}')

5. 切换环境:通过命令窗口(如 PowerShell, cmd, bash)设置 ENVIRONMENT 变量,演示如何根据不同环境加载配置。

使用 dotenv 库能够在团队协作和复杂项目中有效管理敏感信息,确保配置隔离,既安全又灵活。



Leave a comment