os.environ
एक अजगर शब्दकोश की तरह व्यवहार करता है, इसलिए सभी सामान्य शब्दकोश संचालन किया जा सकता है। अन्य उत्तरों में वर्णित get
और set
संचालन के अलावा , हम यह भी जांच सकते हैं कि क्या कोई कुंजी मौजूद है। कुंजी और मूल्यों को तार के रूप में संग्रहीत किया जाना चाहिए ।
अजगर ३
पाइथन 3 के लिए, डिक्शनरी has_key के बजाय कीवर्ड में उपयोग करते हैं
>>> import os
>>> 'HOME' in os.environ # Check an existing env. variable
True
...
अजगर २
>>> 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'
उपयोग करने के बारे में ध्यान देने योग्य बात है os.environ
:
हालाँकि, चाइल्ड प्रोसेस पेरेंट प्रोसेस से एनवायरनमेंट इनहेरिट करता है, मैं हाल ही में एक इश्यू में चला गया था और पता लगा, अगर आपके पास अन्य स्क्रिप्ट्स हैं, जो आपके पाइथन स्क्रिप्ट को चलाने के दौरान एनवायरनमेंट को अपडेट करते हैं, तो कॉलिंग os.environ
फिर से लेटेस्ट वैल्यू को प्रतिबिंबित नहीं करेगी ।
डॉक्स से उद्धरण :
यह मैपिंग पहली बार कैप्चर की गई है जब ओएस मॉड्यूल आयात किया जाता है, आमतौर पर पायथन स्टार्टअप के दौरान प्रसंस्करण स्थल के हिस्से के रूप में स्टार्टअप। इस समय के बाद बने पर्यावरण में परिवर्तन os.environ में परिलक्षित नहीं होते हैं, केवल os.environ को सीधे संशोधित करके किए गए परिवर्तनों को छोड़कर।
os.environ.data
जो सभी पर्यावरण चर को संग्रहीत करता है, एक तानाशाह वस्तु है, जिसमें सभी पर्यावरण मूल्य शामिल हैं:
>>> type(os.environ.data) # changed to _data since v3.2 (refer comment below)
<type 'dict'>