在python-dotenv中使用`cat`将证书添加到环境中

时间:2019-05-14 16:23:10

标签: python python-3.x command-line dotenv

使用python-dotenv时,我试图将我的凭据放入env。我以前使用

export CREDS=`cat $PATH_TO_CREDS_JSON` 

在我的.zshrc文件中。

我曾尝试像以前一样使用cat命令,但将其保存为字符串。

打印它会导致cat $PATH_TO_CREDS的字符串值被保存到env变量中。

我尝试使用不同的引号和不使用引号。

这是我的主要python文件中的代码。

from dotenv import load_dotenv

path = path.join(path.dirname(path.realpath(__file__)), "devlocal/.env")
load_dotenv(dotenv_path=path, override=True, verbose=True)

我的.env文件是

CREDS=`cat $PATH_TO_CREDS_JSON`

这个。

我希望os.getenv('CREDS')会生成一个包含我的凭据的json格式的文件。可悲的是,它只返回命令的字符串。

1 个答案:

答案 0 :(得分:0)

您应该在.env文件中分别定义凭据的每个值。 例如,如果您的json看起来像这样:

{"username": "example1", "password": "example2"}

然后您的.env应该如下所示:

USERNAME=example1
PASSWORD=example2

然后您可以像这样加入他们:

import json
...
creds = json.dumps({"username": os.getenv('USERNAME'), "password": os.getenv('PASSWORD')})