Orada arasında hiçbir işlevsel bir fark olsa da os.environ.get
ve os.getenv
bir orada masif arasındaki fark os.putenv
ve ayar girişleri os.environ
. os.putenv
olduğu kırık Eğer varsayılan bu yüzden, os.environ.get
sadece yol önlemek için os.getenv
kullanmak teşvik os.putenv
simetri için.
os.putenv
Gerçek OS düzeyinde ortam değişkenleri değiştirir, ancak bir şekilde bu aracılığıyla görünmüyor os.getenv
, os.environ
ya da ortam değişkenleri teftiş başka stdlib yol:
>>> import os
>>> os.environ['asdf'] = 'fdsa'
>>> os.environ['asdf']
'fdsa'
>>> os.putenv('aaaa', 'bbbb')
>>> os.getenv('aaaa')
>>> os.environ.get('aaaa')
Aradıktan getenv
sonra gerçek ortam değişkenlerini görmek için muhtemelen C seviyesine bir ctypes çağrısı yapmanız gerekir os.putenv
. (Bir kabuk alt işleminin başlatılması ve ortam değişkenleri için sorulması da işe yarayabilir, eğer başlangıç yapılandırmasından kaçınmak için kaçmanız ve --norc
/ --noprofile
/ yapmanız gereken başka bir şey varsa, ancak doğru yapmak çok daha zor görünüyor.)
os.environ.get()
hangi geri dönüşleri sorarNone
ve env. var. mevcut değil. Kullanmakla kafa karıştırıcıos.environ['TERM']
olan şey, sorunun ne olduğu değildir.