我的.env
文件中有以下环境变量:
DT="2019-01-01"
X=${DT//-/}
该变量X
已使用 Bash 的参数替换设置,使用${parameter//pattern/string}
格式替换所有出现(此处的文档)。
现在,为了将环境变量读入 Python,我Config
在一个文件中创建了一个 Python 类config.py
:
from dotenv import find_dotenv, load_dotenv
import os
class Config:
def __init__(self):
load_dotenv(find_dotenv())
self.X = os.environ.get('X')
在python
外壳中,我运行:
In [1]: from config import Config
In [2]: c = Config()
In [3]: c.X
Out[3]: ''
这c.X
是一个空字符串''
,我希望它在哪里'20190101'
。
如何将环境变量的正确值加载到 python 变量中?
编辑:当我输入echo $X
bash 脚本时,它会打印正确的值。例如,一个 bash 脚本sample.sh
:
#!/bin/bash
source .env
echo $X
运行时,我得到:
$ sh sample.sh
20190101