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


当前回答

通过os.environ访问环境变量:

import os
print(os.environ['HOME'])

要查看所有环境变量的列表,请执行以下操作:

print(os.environ)

如果密钥不存在,尝试访问它将引发KeyError。要避免这种情况:

# Returns `None` if the key doesn't exist
print(os.environ.get('KEY_THAT_MIGHT_EXIST'))

# Returns `default_value` if the key doesn't exist
print(os.environ.get('KEY_THAT_MIGHT_EXIST', default_value))

# Returns `default_value` if the key doesn't exist
print(os.getenv('KEY_THAT_MIGHT_EXIST', default_value))

其他回答

如果您计划在生产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文件保持为私有(公共无法访问)。

以下是如何检查是否设置了$FOO:

try:  
   os.environ["FOO"]
except KeyError: 
   print "Please set the environment variable FOO"
   sys.exit(1)

通过os.environ访问环境变量:

import os
print(os.environ['HOME'])

要查看所有环境变量的列表,请执行以下操作:

print(os.environ)

如果密钥不存在,尝试访问它将引发KeyError。要避免这种情况:

# Returns `None` if the key doesn't exist
print(os.environ.get('KEY_THAT_MIGHT_EXIST'))

# Returns `default_value` if the key doesn't exist
print(os.environ.get('KEY_THAT_MIGHT_EXIST', default_value))

# Returns `default_value` if the key doesn't exist
print(os.getenv('KEY_THAT_MIGHT_EXIST', default_value))

您应该首先使用

import os

然后实际打印环境变量值

print(os.environ['yourvariable'])

当然,将变量替换为要访问的变量。

至于环境变量:

import os
print os.environ["HOME"]