Используйте первое; он напрямую пытается проверить, определено ли что-то в environ
. Хотя вторая форма работает одинаково хорошо, ей не хватает семантики, поскольку вы получаете обратно значение, если оно существует, и только используете его для сравнения.
Вы пытаетесь увидеть , если что - то присутствует в environ
, почему вы получите только сравнить его , а затем бросить его подальше ?
Это именно то, что getenv
делает:
Получить переменную окружения , вернуть, None
если ее не существует. Необязательный второй аргумент может указывать альтернативное значение по умолчанию.
(это также означает, что ваш чек может быть просто if getenv("FOO")
)
вы не хотите его получать , вы хотите проверить его существование.
В любом случае, getenv
это просто оболочка, environ.get
но вы не видите людей, проверяющих членство в сопоставлениях с помощью:
from os import environ
if environ.get('Foo') is not None:
Подводя итог, используйте:
if "FOO" in os.environ:
pass
если вы просто хотите проверить существование, тогда используйте, getenv("FOO")
если вы действительно хотите что-то сделать со значением, которое вы можете получить.