Используйте первое; он напрямую пытается проверить, определено ли что-то в 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")если вы действительно хотите что-то сделать со значением, которое вы можете получить.