好的。首先我们要了解一下“python库-dotenv包 及 .env配置文件详解”的定义和作用。
一、定义与作用
dotenv是python中的一个工具包,作用是读取项目中的.env文件,将.env文件中定义的环境变量导入到当前的环境中供当前程序使用。.env文件是一个配置文件,其中包含的key-value键值对表示程序所需要用到的环境变量。
二、安装
在使用前,需要先安装dotenv包,可以使用如下命令:
pip install python-dotenv
三、使用
在项目的根目录下新建一个名为.env的文件,文件格式如下:
# 注释1
KEY1=value1
# 注释2
KEY2=value2
这样,在项目中可以使用dotenv工具包中的dotenv.load_dotenv()方法将.env文件中的配置导入到当前环境中,具体代码如下:
from dotenv import load_dotenv
# 加载.env文件
load_dotenv()
# 在代码中使用环境变量
import os
key1 = os.environ.get("KEY1")
key2 = os.environ.get("KEY2")
四、示例
1. 使用dotenv管理API-key
假设我们需要调用某个API,API-key存放在.env文件中,代码中如下:
from dotenv import load_dotenv
import os
# 加载.env文件
load_dotenv()
# 使用API-key
api_key = os.environ.get("API_KEY")
# 调用API接口获取数据
import requests
response = requests.get(url, headers={"X-API-Key": api_key})
2. Django项目中使用dotenv
假设我们有一个Django项目,由于开发、测试、生产环境下的数据库账号密码不同,我们需要在项目中使用dotenv来管理环境变量。
在Django的settings.py中,添加如下代码:
from dotenv import load_dotenv
# 加载.env文件
load_dotenv()
# 引入其他依赖配置
...
...
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': os.environ.get('DB_NAME'),
'USER': os.environ.get('DB_USER'),
'PASSWORD': os.environ.get('DB_PASSWORD'),
'HOST': '127.0.0.1',
'PORT': '3306',
}
}
这样,我们就可以在.env文件中定义不同的环境变量,比如开发环境的.env文件:
DB_NAME=mydevdb
DB_USER=mydevuser
DB_PASSWORD=mydevpassword
测试环境的.env文件:
DB_NAME=mytestdb
DB_USER=mytestuser
DB_PASSWORD=mytestpassword
生产环境的.env文件:
DB_NAME=myproddb
DB_USER=myproduser
DB_PASSWORD=myprodpassword
然后只需要在不同的环境下加载不同的.env文件,即可实现不同环境下的数据库访问。比如,在开发环境中使用如下代码:
from dotenv import load_dotenv
# 加载开发环境的.env文件
load_dotenv(".env.dev")
这样,在以上示例中,我们使用dotenv工具包,成功的将.env中定义的环境变量导入到了当前的环境中,从而实现了环境变量的统一管理和使用。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python库-dotenv包 及 .env配置文件详解 - Python技术站