os.environ
bir python sözlüğü gibi davranır, böylece tüm ortak sözlük işlemleri yapılabilir. Diğer cevaplarda belirtilen get
ve set
işlemlerine ek olarak, bir anahtarın var olup olmadığını da kontrol edebiliriz. Anahtarlar ve değerler dize olarak saklanmalıdır .
Python 3
Python 3 için sözlükler has_key yerine in anahtar sözcüğünü kullanır
>>> import os
>>> 'HOME' in os.environ # Check an existing env. variable
True
...
Python 2
>>> import os
>>> os.environ.has_key('HOME') # Check an existing env. variable
True
>>> os.environ.has_key('FOO') # Check for a non existing variable
False
>>> os.environ['FOO'] = '1' # Set a new env. variable (String value)
>>> os.environ.has_key('FOO')
True
>>> os.environ.get('FOO') # Retrieve the value
'1'
Kullanmayla ilgili dikkat edilmesi gereken önemli bir nokta vardır os.environ
:
Alt süreçler ortamı üst süreçten devralmasına rağmen, son zamanlarda bir sorunla karşılaştım ve anladım, eğer python komut dosyanız çalışırken ortamı güncelleyen başka komut dosyalarınız varsa, os.environ
tekrar çağırmak en son değerleri yansıtmayacaktır .
Dokümanlardan alıntı :
Bu eşleme, os modülü ilk kez içe aktarıldığında, genellikle Python başlatılırken işleme sitesi.py'nin bir parçası olarak yakalanır. Bu süreden sonra yapılan ortamda yapılan değişiklikler, doğrudan os.environ'ta değişiklik yapılarak yapılan değişiklikler hariç, os.environ'a yansıtılmaz.
os.environ.data
tüm ortam değişkenlerini depolayan, tüm ortam değerlerini içeren bir dikte nesnesidir:
>>> type(os.environ.data) # changed to _data since v3.2 (refer comment below)
<type 'dict'>