os.environ
berperilaku seperti kamus python, sehingga semua operasi kamus umum dapat dilakukan. Selain get
dan set
operasi yang disebutkan dalam jawaban lain, kami juga dapat memeriksa apakah ada kunci. Kunci dan nilai harus disimpan sebagai string .
Python 3
Untuk python 3, kamus menggunakan kata kunci in dan bukannya has_key
>>> 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'
Ada satu hal penting yang perlu diperhatikan tentang penggunaan os.environ
:
Meskipun proses anak mewarisi lingkungan dari proses induk, saya telah menemukan masalah baru-baru ini dan menemukan, jika Anda memiliki skrip lain yang memperbarui lingkungan saat skrip python Anda berjalan, menelepon os.environ
lagi tidak akan mencerminkan nilai terbaru .
Kutipan dari dokumen :
Pemetaan ini diambil saat modul os pertama kali diimpor, biasanya selama Python startup sebagai bagian dari pemrosesan site.py. Perubahan lingkungan yang dibuat setelah waktu ini tidak tercermin dalam os.environ, kecuali untuk perubahan yang dilakukan dengan memodifikasi os.environment secara langsung.
os.environ.data
yang menyimpan semua variabel lingkungan, adalah objek dict, yang berisi semua nilai lingkungan:
>>> type(os.environ.data) # changed to _data since v3.2 (refer comment below)
<type 'dict'>