安全に使用するために
os.getenv('FOO') or 'bar'
上記の答えのコーナーケースは、環境変数が設定されているが空の場合です
この特別なケースでは、
print(os.getenv('FOO', 'bar'))
# prints new line - though you expected `bar`
または
if "FOO" in os.environ:
print("FOO is here")
# prints FOO is here - however its not
これを回避するには、 or
os.getenv('FOO') or 'bar'
その後、あなたは得る
print(os.getenv('FOO') or 'bar')
# bar
空の環境変数はいつありますか?
.env
ファイルに値を設定するのを忘れた
# .env
FOO=
またはとしてエクスポート
$ export FOO=
またはそれを設定するのを忘れた settings.py
# settings.py
os.environ['FOO'] = ''
更新:疑問がある場合は、これらのワンライナーをチェックしてください
>>> import os; os.environ['FOO'] = ''; print(os.getenv('FOO', 'bar'))
$ FOO= python -c "import os; print(os.getenv('FOO', 'bar'))"