У меня есть небольшое приложение Python, запущенное через subprocess.Popen
, которое принимает некоторые параметры в виде переменных среды. Я делаю это, передавая структуру среды в вызов Popen
. Затем программа считывает переменные через os.getenv
.
Или, скорее, он читал их таким образом. В Windows это работало нормально. Но на наших серверах FreeBSD os.getenv
возвращает None
для всех параметров, которые мы передали. Нечетная часть состоит в том, что os.environ
имеет значения просто fine &mdash и, действительно, просто переключает все вызовы os.getenv('foo')
на os.environ['foo']
заставило все работать отлично на обеих платформах.
Почему эти значения разные? Когда один соответствует другому?