swe*_*123 8 python environment-variables python-os
在 python 中,有没有办法从特定的 .env 文件中检索 env 变量的值?例如,我有多个 .env 文件,如下所示:
.env.a .env.a ...
我在 .env.b 中有一个名为 INDEX=4 的变量。
我尝试通过执行以下操作来接收 INDEX 的值:
import os
os.getenv('INDEX')
Run Code Online (Sandbox Code Playgroud)
但这个值返回None。
有什么建议么?
这是ConfigParser或ConfigObj的工作。ConfigParser 内置于 Python 标准库中,但有一个缺点,即它确实需要节名称。以下是针对Python3的。如果您仍在使用Python2,那么使用import ConfigParser
import configparser
config = configparser.ConfigParser()
config.read('env.b')
index = config['mysection']['INDEX']
Run Code Online (Sandbox Code Playgroud)
其中 ConfigParser 的 env.b 是
[mysection]
INDEX=4
Run Code Online (Sandbox Code Playgroud)
并使用 ConfigObj:
import configobj
config = configobj.ConfigObj('env.b')
index = config['INDEX']
Run Code Online (Sandbox Code Playgroud)
其中 ConfigObj 的 env.b 是
INDEX=4
Run Code Online (Sandbox Code Playgroud)
小智 8
Python 有一个名为 python-dotenv 的特定包来使用 .env 文件中存储的密钥。以下是我们如何在 .env 文件中使用密钥。首先,在 .env 文件中创建一个像这样的密钥
demokey=aaa2134
Run Code Online (Sandbox Code Playgroud)
要在 python 文件中加载此密钥,我们可以使用以下代码:
from dotenv import load_dotenv
load_dotenv()
import os
x = os.getenv("demokey")
print(x)
Run Code Online (Sandbox Code Playgroud)
在 Python 3.x 中,因为它本身不可用
pip install python-dotenv
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16917 次 |
| 最近记录: |