2017-10-18 16 views
3

$ UID環境変数の値を知る必要があるPythonスクリプトがあります。問題は何らかの理由でos.environにこの変数が存在しないことです。UID env-varがPythonの 'os.environ' dictにコピーされない

以下はインタラクティブなデモンストレーションです。$ UIDはシェルで定義されていますが、Pythonは同じシェルから起動されますが、 'UID'環境変数はos.environに存在しません。

これは既知の問題ですか?それについて何かするべきことはありますか?

UIDshell internal variableあるので期待だ
$ echo $UID 
1003 
$ python 
Python 2.7.6 (default, Oct 26 2016, 20:30:19) 
[GCC 4.8.4] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import os 
>>> os.environ['UID'] 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "/usr/lib/python2.7/UserDict.py", line 23, in __getitem__ 
    raise KeyError(key) 
KeyError: 'UID' 
>>> 

答えて

3

。サブプロセスには伝播されません。

あなたはos.getuid()

1

osモジュールを介して直接値を取得する必要が私はあなたがos.getuid()

を探しているのだと思います
関連する問題