36

私はこれを試しました:

os.environ['MyVar']

しかし、うまくいきませんでした!すべてのオペレーティング システムに適した方法はありますか?

4

3 に答える 3

60

以下を使用してみてください。

os.getenv('MyVar')

ドキュメントから:

os.getenv(変数名[, 値])

存在する場合は環境変数 varname の値を返し、存在しない場合は value を返します。値のデフォルトはなしです。

可用性: 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    

環境変数が存在する場合、あなたの方法も機能します。using との違いは、変数が存在しない場合に KeyError 例外が発生する一方で、os.getenv返されるNone(または指定された値)ことです。os.environ['MyValue']

于 2012-05-08T10:24:24.187 に答える
18

コントロール パネルで設定した環境変数を読み取るには、Windows を再起動する必要がある場合があります。

于 2014-06-05T12:59:26.540 に答える
5
os.getenv('PATH')

上記のコード行でテストできます。設定されているすべてのパスがリストされます。

于 2012-05-08T10:54:18.493 に答える