4

システム環境変数を作成する必要がありos.putenv(key, value)、それを作成するために使用するprint os.getenv(key)と、コンソール出力が表示されますNone

しかし、コンソールは、ビルドに使用すると値 (ここではprint os.getenv(key)または) を出力します。print os.environ[key]os.environ[key] = value

ただし、 の場合、キーと値は辞書にありませんprint os.environ

システム環境変数を正常に構築できないのはなぜですか? Windows 7 と Python 2.7.5 を使用しています。

4

1 に答える 1

3

ドキュメントを読めば、なぜ os.putenv が動作しないのか答えが得られます:

このマッピングは、os モジュールが初めてインポートされたときにキャプチャされます。通常は、Python の起動時に、site.py の処理の一部としてキャプチャされます。この時間以降に行われた環境への変更は、os.environ を直接変更することによって行われた変更を除いて、os.environ には反映されません。

プラットフォームが putenv() 関数をサポートしている場合、このマッピングを使用して環境を変更したり、環境を照会したりできます。マッピングが変更されると、putenv() が自動的に呼び出されます。

注 putenv() を直接呼び出しても os.environ は変更されないため、os.environ を変更することをお勧めします。

于 2013-06-27T03:10:57.963 に答える