我设置了要在我的Python应用程序中访问的环境变量。 我如何获得这个价值?
#1楼
检查密钥是否存在(返回True
或False
)
'HOME' in os.environ
您也可以在打印密钥时使用get()
。 如果要使用默认值,则很有用。
print(os.environ.get('HOME', '/home/username/'))
其中/home/username/
是默认值
#2楼
如果您打算在生产Web应用程序代码中使用该代码,
使用Django / Flask之类的任何网络框架,使用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)
注意:建议使用kennethreitz的autoenv工具来制作特定于项目的环境变量,请注意,使用autoenv
请保留.env
文件为私有文件(不公开)
#3楼
import os
for a in os.environ:
print('Var: ', a, 'Value: ', os.getenv(a))
print("all done")
这将打印所有环境变量及其值。
#4楼
您可以使用以下命令访问环境变量
import os
print os.environ
尝试查看PYTHONPATH或PYTHONHOME环境变量的内容,也许这将对您的第二个问题有所帮助。 但是,您应该澄清一下。
#5楼
至于环境变量:
import os
print os.environ["HOME"]
恐怕您还得再充实一点,才可以得到一个不错的答案。
#6楼
通过os.environ访问环境变量
import os
print(os.environ['HOME'])
或者,您可以使用以下命令查看所有环境变量的列表:
os.environ
有时您可能需要查看完整的列表!
# using get will return `None` if a key is not present rather than raise a `KeyError`
print(os.environ.get('KEY_THAT_MIGHT_EXIST'))
# os.getenv is equivalent, and can also give a default value instead of `None`
print(os.getenv('KEY_THAT_MIGHT_EXIST', default_value))
Windows上的Python默认安装为C:\\Python
。 如果要在运行python时查找,可以执行以下操作:
import sys
print(sys.prefix)
#7楼
实际上,可以这样做:
import os
for item, value in os.environ.items():
print('{}: {}'.format(item, value))
或者简单地:
for i, j in os.environ.items():
print(i, j)
要查看参数中的值:
print(os.environ['HOME'])
要么:
print(os.environ.get('HOME')
设置值:
os.environ['HOME'] = '/new/value'
#8楼
还有很多很棒的图书馆。 例如, Envs将允许您从环境变量rad中解析对象。 例如:
from envs import env
env('SECRET_KEY') # 'your_secret_key_here'
env('SERVER_NAMES',var_type='list') #['your', 'list', 'here']
#9楼
对于django,请参阅( https://github.com/joke2k/django-environ )
$ 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')
#10楼
最初的问题(第一部分)是“如何在Python中检查环境变量”。
这是检查$ FOO是否设置的方法:
try:
os.environ["FOO"]
except KeyError:
print "Please set the environment variable FOO"
sys.exit(1)