检查是否存在多个ENV变量

时间:2017-06-14 21:16:50

标签: python

我是否有更优化的方法可以查看是否存在多个包含自定义异常的ENV变量?也许是一种匹配一组EVN变量的方法,然后让异常在其输出中自引用变量名?

if os.environ.get('USERNAME') is not None:
    self.username = os.environ.get('USERNAME')
else:
    raise CustomException('Environment variable USERNAME not set')  
if os.environ.get('PASSWORD') is not None:
    self.password = os.environ.get('PASSWORD')
else:
    raise CustomException('Environment variable PASSWORD not set')  

我正在使用Python 2.7。谢谢!

2 个答案:

答案 0 :(得分:0)

您总是可以使用包含三个项目列表的循环:

{"env_var_name": "USERNAME", "attr": "username", "exception_cls": CustomException}

如果您不喜欢使用索引,则可以通过这样的替换项替换项目,以便在更改顺序时获得更一致的访问权限:

{{1}}

答案 1 :(得分:0)

只需将所有环境查找放在try:块中:

try:
    self.username= os.environ['USERNAME']
    self.password= os.environ['PASSWORD']
except KeyError as e:
    raise CustomException('Environment variable {} not set'.format(e.args[0]))