안전한 측면 사용
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'))"