python-dotenv 概述
- python-dotenv 是一个允许开发者从
.env文件中读取环境变量的一个 Python 库
python-dotenv 使用
- 安装 python-dotenv 库
shell
pip install python-dotenv
- 创建并编辑
.env文件
env
SECRET_KEY=my-secret-key-123
DATABASE_URL=postgresql://user:password@localhost/dbname
DEBUG=True
API_KEY=my-api-key-123
MAX_CONNECTIONS=10
- 在 Python 代码中读取环境变量
python
from dotenv import load_dotenv
import os
# 加载 .env 文件中的环境变量
load_dotenv()
# 访问 .env 文件中的环境变量
secret_key = os.getenv('SECRET_KEY')
database_url = os.getenv('DATABASE_URL')
debug = os.getenv('DEBUG')
api_key = os.getenv('API_KEY')
max_connections = os.getenv('MAX_CONNECTIONS')
other_content = os.getenv('OTHER_CONTENT')
print(f"Secret Key: {secret_key}, type: {type(secret_key)}")
print(f"Database URL: {database_url} type: {type(database_url)}")
print(f"Debug Mode: {debug}, type: {type(debug)}")
print(f"API Key: {api_key}, type: {type(api_key)}")
print(f"Max Connections: {max_connections}, type: {type(max_connections)}")
print(f"Other Content: {other_content}, type: {type(other_content)}")
# 输出结果
Secret Key: my-secret-key-123, type: <class 'str'>
Database URL: postgresql://user:password@localhost/dbname type: <class 'str'>
Debug Mode: True, type: <class 'str'>
API Key: my-api-key-123, type: <class 'str'>
Max Connections: 10, type: <class 'str'>
Other Content: None, type: <class 'NoneType'>
补充学习
import os用于导入 Python 的操作系统接口模块,此模块提供与操作系统交互的各种功能,对于获取环境变量,有如下方式
-
os.getenv():安全,推荐使用,不存在时返回 None,可以指定默认值
-
os.environ[]:直接访问,如果不存在会抛出异常
-
os.environ.get():与 os.getenv() 功能相同