if-else与环境变量

时间:2020-04-24 15:30:46

标签: python if-statement

我想拥有一个if-else结构来检查环境变量是否存在,如:

if "ENV_VAR" in os.environ:
    if os.environ["ENV_VAR"] == "one":
        do_something()
    else:
        do_something_else()
else:
    do_something_else()

有没有更好的方式编写代码,特别是避免两次编写对“ do_something_else()”的调用?

3 个答案:

答案 0 :(得分:2)

您可以使用os.getenv来做到这一点:

if os.getenv("ENV_VAR") == "one":
    do_something()
else:
    do_something_else()

答案 1 :(得分:1)

使用字典,如果键不存在,您也可以使用.get提供默认值。在这种情况下,您可以返回一个空字符串进行比较,如果成功检索,则返回实际值。

if os.environ.get('ENV_VAR', '') == 'one':
    do_something()
else:
    do_something_else()

答案 2 :(得分:1)

如果ENV_VAR不存在,则可以使用os.environ.get,它将默认为None,并且不通过if条件。

if os.environ.get("ENV_VAR") == "one":
    do_something()
else:
    do_something_else()