如何在Python中获取环境变量的值?


当前回答

检查密钥是否存在(返回True或False)

'HOME' in os.environ

您也可以在打印密钥时使用get();如果要使用默认值,则非常有用。

print(os.environ.get('HOME', '/home/username/'))

其中/home/username/是默认值

其他回答

如果您计划在生产web应用程序代码中使用该代码,使用Django和Flask等任何web框架,请使用envparse等项目。使用它,您可以将值读取为定义的类型。

from envparse import env
# will read WHITE_LIST=hello,world,hi to white_list = ["hello", "world", "hi"]
white_list = env.list("WHITE_LIST", default=[])
# Perfect for reading boolean
DEBUG = env.bool("DEBUG", default=False)

注意:kennetritz的autoenv是制作项目特定环境变量的推荐工具。对于使用autoenv的用户,请注意将.env文件保持为私有(公共无法访问)。

您可以使用

import os
print os.environ

尝试查看PYTHONPATH或PYTHONHOME环境变量的内容。也许这会对你的第二个问题有所帮助。

您也可以尝试以下操作:

首先,安装python解耦

pip install python-decouple

将其导入到文件中

from decouple import config

然后获取环境变量

SECRET_KEY=config('SECRET_KEY')

在这里阅读有关Python库的更多信息。

import os
for a in os.environ:
    print('Var: ', a, 'Value: ', os.getenv(a))
print("all done")

这将打印所有环境变量及其值。

您可以使用python dotenv模块访问环境变量

使用以下方法安装模块:

pip install python-dotenv

然后将模块导入Python文件

import os
from dotenv import load_dotenv

# Load the environment variables
load_dotenv()

# Access the environment variable
print(os.getenv("BASE_URL"))