2017-03-31 9 views
0

1つのPythonプログラムにコードセグメントがあります。それは正常に動作します。os.environ変数の出力に関して

if 'TV_DIR_RUNS' in os.environ: 
    os.environ['TV_DIR_RUNS'] = os.path.join(os.environ['TV_DIR_RUNS'],'Seg') 

私はprint機能を追加することにより、os.environ['TV_DIR_RUNS']を見てみましょうしようとしていました。

if 'TV_DIR_RUNS' in os.environ: 
    os.environ['TV_DIR_RUNS'] = os.path.join(os.environ['TV_DIR_RUNS'],'KittiSeg') 
print(os.environ['TV_DIR_RUNS']) 

は次にプログラムを実行すると、次のエラーメッセージ

File "train.py", line 107, in main 
print(os.environ['TV_DIR_RUNS']) 
File "/devl/lib/python3.4/os.py", line 635, in __getitem__ 
raise KeyError(key) from None 
KeyError: 'TV_DIR_RUNS' 

を生成し、それをプリントアウトすることができない理由os.environ['TV_DIR_RUNS'] = os.path.join(os.environ['TV_DIR_RUNS'],'KittiSeg')は、正常に実行することができますように私には思えるので、これは本当に、私を混乱させる?

答えて

0

'TV_DIR_RUNS'os.environではありません。行をprint(os.environ.get('TV_DIR_RUNS'))

に変更してください。行os.environ['TV_DIR_RUNS'] = ...はif文のブロック内にあり、'TV_DIR_RUNS'os.environにあるかどうかを確認しています。

関連する問題