我想拥有一个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()”的调用?
答案 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()