文章内容

2021/7/14 10:26:08,作 者: 黄兵

Python项目中使用dotenv

最近在开放项目的时候,有一些配置以前直接卸载代码中,导致后面需要修改需要找很久到底是那个文件,时间一长导致很多项目很难维护。

使用python-dotenv可以很方便的管理配置文件。

下面是使用python-dotenv的示例:

def __init__(self):
dotenv_path = os.path.join(os.path.dirname(__file__), '.env')
if os.path.exists(dotenv_path):
load_dotenv(dotenv_path)
# Local Test Connection string
self.mysql_host = os.environ.get('MYSQL_HOST')
self.mysql_port = os.environ.get('MYSQL_PORT')
self.mysql_user = os.environ.get('MYSQL_USER')
self.mysql_password = os.environ.get('MYSQL_PASSWORD')
self.mysql_database = os.environ.get('MYSQL_DATABASES')
self.charset = 'utf8'

这里加载了配置文件之后,通过os.environ.get('foo')来获取具体配置参数。

直接在项目的根目录新建一个.env文件,之后写项目的配置参数。

关于使用dotenv带来的好处,可以参考这篇文章:The Twelve-Factor App (简体中文)

具体来说:

12-Factor推荐将应用的配置存储于 环境变量 中( env varsenv )。环境变量可以非常方便地在不同的部署间做修改,却不动一行代码;与配置文件不同,不小心把它们签入代码库的概率微乎其微;与一些传统的解决配置问题的机制(比如 Java 的属性配置文件)相比,环境变量与语言和系统无关。


参考资料:

1、python-dotenv

2、The Twelve-Factor App (简体中文)

3、配置

分享到:

发表评论

评论列表