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


当前回答

在一行中使用嵌套for循环的棘手之处在于必须使用列表理解。因此,为了打印所有环境变量,而不必导入外部库,您可以使用:

python -c "import os;L=[f'{k}={v}' for k,v in os.environ.items()]; print('\n'.join(L))"

其他回答

您应该首先使用

import os

然后实际打印环境变量值

print(os.environ['yourvariable'])

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

您可以使用

import os
print os.environ

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

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

'HOME' in os.environ

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

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

其中/home/username/是默认值

至于环境变量:

import os
print os.environ["HOME"]

对于Django,请参阅Django环境。

$ pip install django-environ

import environ

env = environ.Env(
    # set casting, default value
    DEBUG=(bool, False)
)
# reading .env file
environ.Env.read_env()

# False if not in os.environ
DEBUG = env('DEBUG')

# Raises Django's ImproperlyConfigured exception if SECRET_KEY not in os.environ
SECRET_KEY = env('SECRET_KEY')