私はこの試みた:PythonでWindows環境の変数値を読み取るには?
os.environ['MyVar']
をしかし、それは動作しませんでした! すべてのオペレーティングシステムに適した方法はありますか?
私はこの試みた:PythonでWindows環境の変数値を読み取るには?
os.environ['MyVar']
をしかし、それは動作しませんでした! すべてのオペレーティングシステムに適した方法はありますか?
は以下を使用してみてください: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例外を返すことです。
os.getenv('PATH')
上記のコード行でテストできます。設定されているすべてのパスが一覧表示されます。
コントロールパネルから設定した環境変数を読み取るには、ウィンドウを再起動する必要があります。
または、コンソールを再起動するだけです。 –
このエラーが発生しました: KeyError: 'MyVar' –
正しい方法で変数を定義してもよろしいですか? – Alexander
どのように定義するのですか?コントロールパネル - >システムとセキュリティ - >システム - >拡張システム設定 - >環境変数に追加しました。 –