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


当前回答

对于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')

其他回答

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

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

对于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')

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

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

至于环境变量:

import os
print os.environ["HOME"]

您可以使用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"))