os.environ
davranacağını, bu yüzden tüm ortak Sözlük işlemleri gerçekleştirilebilir. Geçenlerde bir sorun haline çalıştırmak ve anlamıştı
>>> import os
>>> os.environ.has_key('HOME') # Check an existing env. variable
True
>>> os.environ.has_key('FOO') # Check 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'
Eğer çevreyi güncellenmesi diğer komut varsa,: anahtar varsa diğer yanıtlar sözü get
ve set
işlemlere ek olarak, aynı zamanda basitçe kontrol edebilirsiniz python komut dosyanız çalışırken, os.environ
numaralı telefonu tekrar numaralı telefonu arayarak en son değerlerini yansıtmayacaktır. docs den
alıntı: Bu eşleme os modülü ithal ilk kez yakalanır
, tipik Python başlatma sırasında işleme site.py. bir parçası olarak Bu süre sonra yapılan ortama değişiklikleri, doğrudan os.environ değiştirilerek yapılan değişiklikler hariç, os.environ olarak yansıtılmaz. tüm ortam değişkenleri depolayan
os.environ.data
, tüm çevre değerleri içeren dict nesnesidir:
>>> type(os.environ.data)
<type 'dict'>
, os.environ değiştirerek aslında şimdiki süreç veya çocuk süreçleri için her iki sistem ortamı değiştirmez. Daha fazla bilgi için belgelere bakın: https://docs.python.org/2/library/os.html#os.environ – Evan
@Evan Unix'in putenv() 'yi desteklemeyen bazı tarihsel varyantları olabilir. ama Unixen için zaten yapabileceğin bir şey yok. Çalıştığım AIX ve HPUX'un eski versiyonu bile destekledi. Eğer bugün onu desteklemeyen bir bilgisayar bulabiliyorsa, bu bilgisayarda Python'u çalıştırabilecekleri konusunda ciddi şüphelerim var. :) –
** Dikkat: ** yukarıdaki Evan referansından alıntı yapmak için, * Ortamdaki bu değişiklikler os ile başlatılan alt süreçleri etkiler.system(), popen() veya fork() ve execv(). * Diğer bir deyişle, bu yaklaşımın programınızın çalışma şeklini değiştirmeyeceğini, yalnızca programınızın çocuklarının çalışma şeklini değiştirmeyeceğini unutmayın. Doğru, programınız ortam değişkenlerini ayarlayabilir ve okuyabilir, ancak sadece çocukları için yapılandırdığı ortamdan öğrenebilir. Ayrıca bakınız: [mevcut işlem ortamını değiştir] (http://stackoverflow.com/q/1178094/5025060). Şimdiye kadar bir Python senaryosunun ebeveynini değiştirmek için bir yol bulamadım. –