python 环境变量 env
pip install python-dotenv
github: https://github.com/theskumar/python-dotenv
.env.dev
DB_NAME=xxx
DB_HOST=aaa
DB_USER=bbb
DB_PASSWORD=ccc
config.py
import os
from dotenv import load_dotenv
from logs import logger
# 首先获取当前的环境状态(记录在.gitlab-ci.yml中)如果获取不到则默认使用dev开发环境
env_state = os.getenv("ENV_STATE", "dev")
# 先加载通用的环境变量
load_dotenv()
# 加载特定环境的环境变量
# 第一个参数如果获取不到对应文件需要写成绝对路径 借助Path(__file__)获取路径
# 第二个参数override=True表示当已存在同名环境变量时 .env中的变量覆盖系统变量 此时只是临时使用了.env 中的变量值
load_dotenv(f".env.{env_state}", override=True)
DB_NAME = os.getenv("DB_NAME")
DB_HOST = os.getenv("DB_HOST")
DB_USER = os.getenv("DB_USER")
DB_PASSWORD = os.getenv("DB_PASSWORD")
输出:
I 2024-08-22 16:59:24,356 | INFO | [/opt/src/check_list/config.py:22:<module>] - DB_NAME:xxx