如何在python中读取windows环境变量值?

时间:2012-05-08 10:20:56

标签: python environment-variables

我试过了:

os.environ['MyVar']

但它不起作用! 有什么方法适合所有操作系统吗?

3 个答案:

答案 0 :(得分:42)

尝试使用以下内容:

os.getenv('MyVar')

来自documentation

  

os.getenv(varname [,value])

     

返回环境变量varname的值(如果存在),如果不存在,则返回值。 value默认为None。

     

可用性:大多数Unix,Windows

所以经过测试后:

>>> import os
>>> os.environ['MyVar'] = 'Hello World!'       # set the environment variable 'MyVar' to contain 'Hello World!'
>>> print os.getenv('MyVar')
Hello World!
>>> print os.getenv('not_existing_variable')
None
>>> print os.getenv('not_existing_variable', 'that variable does not exist')
that variable does not exist
>>> print os.environ['MyVar']
Hello World!
>>> print os.environ['not_existing_variable']
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
  File "/usr/lib/python2.4/UserDict.py", line 17, in __getitem__
    def __getitem__(self, key): return self.data[key]
KeyError: 'not_existing_variable    

如果环境变量存在,您的方法也会起作用。使用os.getenv的不同之处在于它返回None(或给定值),而os.environ['MyValue']在变量不存在时给出了KeyError异常。

答案 1 :(得分:3)

os.getenv('PATH')

您可以使用上面的代码行进行测试。它将列出所有已设置的路径。

答案 2 :(得分:2)

您可能必须重新启动窗口才能读取通过控制面板设置的环境变量。