如何在Python中获取环境变量的值?
当前回答
以下是如何检查是否设置了$FOO:
try:
os.environ["FOO"]
except KeyError:
print "Please set the environment variable FOO"
sys.exit(1)
其他回答
对于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')
通过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
for a in os.environ:
print('Var: ', a, 'Value: ', os.getenv(a))
print("all done")
这将打印所有环境变量及其值。
至于环境变量:
import os
print os.environ["HOME"]
推荐文章
- 如何排序mongodb与pymongo
- 不可变与可变类型
- 列表是线程安全的吗?
- 操作系统。makdirs在我的路径上不理解“~”
- 如何在Django模板中获得我的网站的域名?
- 在django Forms中定义css类
- 如何在Python中scp ?
- Numpy Max vs amax vs maximum
- 我应该在.gitignore文件中添加Django迁移文件吗?
- 每n行有熊猫
- 实例属性attribute_name定义在__init__之外
- 如何获取在Python中捕获的异常的名称?
- 第一次出现的值大于现有值的Numpy
- 如何在POM.xml中引用环境变量?
- 如何从Python函数中返回两个值?