使用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格式的文件。可悲的是,它只返回命令的字符串。
答案 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')})