2012-05-08 23 views
13

私はこの試みた:PythonでWindows環境の変数値を読み取るには?

os.environ['MyVar'] 

をしかし、それは動作しませんでした! すべてのオペレーティングシステムに適した方法はありますか?

+0

このエラーが発生しました: KeyError: 'MyVar' –

+1

正しい方法で変数を定義してもよろしいですか? – Alexander

+1

どのように定義するのですか?コントロールパネル - >システムとセキュリティ - >システム - >拡張システム設定 - >環境変数に追加しました。 –

答えて

30

は以下を使用してみてください:documentationから

os.getenv('MyVar') 

os.getenv(varname[, value])

Return the value of the environment variable varname if it exists, or value if it doesn’t. value defaults to None.

Availability: most flavors of 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例外を返すことです。

2
os.getenv('PATH') 

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

0

コントロールパネルから設定した環境変数を読み取るには、ウィンドウを再起動する必要があります。

+5

または、コンソールを再起動するだけです。 –

関連する問題