首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >python-dotenv有什么用?

python-dotenv有什么用?
EN

Stack Overflow用户
提问于 2017-01-09 19:21:33
回答 3查看 107.6K关注 0票数 91

需要一个例子,请向我解释python-dotenv的用途。

我对文档有些困惑。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-01-09 19:36:04

Github page

从.env读取键和值对,并将它们添加到环境变量中。它在开发和生产过程中使用12因素原则管理应用程序设置是很棒的。

假设您已经在设置模块旁边创建了.env文件。

代码语言:javascript
复制
.
├── .env
└── settings.py

将以下代码添加到settings.py中

代码语言:javascript
复制
# settings.py
import os
from os.path import join, dirname
from dotenv import load_dotenv

dotenv_path = join(dirname(__file__), '.env')
load_dotenv(dotenv_path)

SECRET_KEY = os.environ.get("SECRET_KEY")
DATABASE_PASSWORD = os.environ.get("DATABASE_PASSWORD")

.env是一个简单的文本文件。每行列出每个环境变量,格式为KEY="Value",以#开头的行被忽略。

代码语言:javascript
复制
SOME_VAR=someval
# I am a comment and that is OK
FOO="BAR"
票数 156
EN

Stack Overflow用户

发布于 2020-06-29 00:09:28

除了@ will的答案之外,python-dotenv模块还附带了一个find_dotenv(),它将尝试查找.env文件。

代码语言:javascript
复制
# settings.py
import os
from dotenv import load_dotenv, find_dotenv

load_dotenv(find_dotenv())

SECRET_KEY = os.environ.get("SECRET_KEY")
DATABASE_PASSWORD = os.environ.get("DATABASE_PASSWORD")
票数 53
EN

Stack Overflow用户

发布于 2021-12-30 03:31:44

您可以像这样设置环境变量:

代码语言:javascript
复制
 export PRIVATE_KEY=0X32323

然后用os模块读取。

代码语言:javascript
复制
import os

private_key=os.getenv("PRIVATE_KEY")

但是通过这种方式,环境变量只在shell处于活动状态时有效。如果关闭shell并重新启动它,则必须再次设置环境变量。python-dotenv可以防止我们重复创建.env文件,并以这种格式添加变量

代码语言:javascript
复制
 PRIVATE_KEY=fb6b05d6e75a93e30e22334443379292ccd29f5d815ad93a86ee23e749227

然后在文件中,你想要访问一个变量

代码语言:javascript
复制
import os
from dotenv import load_dotenv 

#default directory for .env file is the current directory
#if you set .env in different directory, put the directory address load_dotenv("directory_of_.env)
load_dotenv()

load_dotenv()将从.env设置环境变量,我们使用os模块进行访问

代码语言:javascript
复制
   private_key=os.getenv("PRIVATE_KEY")
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41546883

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档