-1

テキスト ファイルの内容を読み込んで、それを使用して特定の設定の os.getenv チェックを実行しようとしています。テキストを変数に変換するのに問題があります。

コードは

import os
for env_check in open('env_check.conf'):
  print env_check
  newenv = os.getenv('"'+env_check+'"')
  if newenv is None:
    print newenv, 'is not set'
  else:
    print 'Current Setting for ' + newenv

前もって感謝します

4

2 に答える 2

3

環境変数を角括弧で囲んで出力すると、改行が追加されていることがすぐにわかります (カンマ区切りのリストなどがある場合は、コメントで言及したリストが改行で区切られていると想定しています)。必要とされている)。

これらを で削除してstr.strip()から、この変数を に直接渡すことができますos.getenv()。次に、次のように印刷できます。

import os
for env_check in open('env_check.conf'):
    env_check = env_check.strip()
    print '[{}]'.format(env_check)
    newenv = os.getenv(env_check)
    if newenv is None:
        print env_check, 'is not set'
    else:
        print 'Current Setting for {}={}'.format(env_check, newenv)
于 2012-05-14T09:29:23.220 に答える
1

os.getenv()正常に動作します。私の推測では、環境変数名の前後に追加する引用符は存在しないはずです。交換

os.getenv('"'+env_check+'"')

os.getenv(env_check)

@BluePeppersが正しく指摘しているように、交換する必要もあります

print newenv, 'is not set'

print env_check, 'is not set'
于 2012-05-14T09:00:12.227 に答える