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


当前回答

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

其他回答

通过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))

在一行中使用嵌套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

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

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

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

'HOME' in os.environ

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

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

其中/home/username/是默认值