【发布时间】:2012-06-12 17:29:54
【问题描述】:
我有一个小型 Python 应用程序,通过 subprocess.Popen 启动,它接受一些环境变量形式的参数。我通过将环境结构传递给Popen 调用来做到这一点。然后程序通过os.getenv读取变量。
或者更确切地说,它曾经以这种方式阅读它们。在 Windows 上,它运行良好。但是在我们的 FreeBSD 服务器上,os.getenv 为我们传入的所有参数返回 None。奇怪的是 os.environ 的值很好——事实上,只需将所有 os.getenv('foo') 调用切换到 os.environ['foo']让一切在两个平台上都能正常工作。
为什么这些值不同?什么时候比较合适?
【问题讨论】:
标签: python windows environment-variables freebsd