我希望有一个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() "的调用?
你可以使用 os.environ.get,如果 ENV_VAR 不存在,它将默认为 None,而不通过 if 条件。
if os.environ.get("ENV_VAR") == "one":
do_something()
else:
do_something_else()
你可以直接这样做,使用 os.getenv
:
if os.getenv("ENV_VAR") == "one":
do_something()
else:
do_something_else()
有了字典,您还可以使用 .get
来提供一个默认值,如果键不存在。在这种情况下,你可以返回一个空字符串进行比较,或者如果成功检索到实际值。
if os.environ.get('ENV_VAR', '') == 'one':
do_something()
else:
do_something_else()