含有环境变量的if-else

问题描述 投票:0回答:2

我希望有一个if-else结构来检查环境变量是否存在,如:"do_something_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() "的调用?

python if-statement
2个回答
1
投票

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

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

2
投票

你可以直接这样做,使用 os.getenv:

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

1
投票

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

if os.environ.get('ENV_VAR', '') == 'one':
    do_something()
else:
    do_something_else()
© www.soinside.com 2019 - 2024. All rights reserved.