检查环境变量是否存在并设置为True

时间:2017-06-12 17:33:01

标签: python python-2.7 python-3.x environment-variables

所以,我想检查并验证一个给定的变量" abc"存在,这是真的。如果变量存在且为False,那么我希望它转到else。以下是我在python中使用它的方法:

env = os.environ.copy()
if "abc" in env and env['abc'] == "True":
    print "Works"
else:
    print "Doesn't work"

有更好的方法吗?

4 个答案:

答案 0 :(得分:4)

您可以检查变量是否在globals()locals()返回的词典中。 (感谢Aaron提醒我添加完整代码)

对于局部变量:

if locals().get('abc'):
    print(abc)

对于全局变量:

if globals().get('abc'):
    print(abc)

对于环境变量:

if os.environ.get('abc')=='True':
    #abc is set to True

此处提供更多信息:

https://docs.python.org/3/library/functions.html#locals https://docs.python.org/3/library/functions.html#globals

答案 1 :(得分:1)

您可以使用:

env.get("abc", False)

如果“abc”不在env。

中,则False是默认值

答案 2 :(得分:1)

您可以使用Try Except Block。

try:
    # Try calling ABC here anyway you like
    # Here I am just printing it
    print(abc)
except NameError:
    print("Variable ABC does not exist")

答案 3 :(得分:0)

从env中获取它就足够了,我想

env.get('abc')