जवाबों:
Os.environ के माध्यम से पर्यावरण चर पर पहुँचा जाता है
import os
print(os.environ['HOME'])
या आप का उपयोग करके सभी पर्यावरण चर की एक सूची देख सकते हैं:
os.environ
जैसा कि कभी-कभी आपको एक पूरी सूची देखने की आवश्यकता हो सकती है!
# using get will return `None` if a key is not present rather than raise a `KeyError`
print(os.environ.get('KEY_THAT_MIGHT_EXIST'))
# os.getenv is equivalent, and can also give a default value instead of `None`
print(os.getenv('KEY_THAT_MIGHT_EXIST', default_value))
विंडोज पर अजगर डिफ़ॉल्ट स्थापना है C:\Python
। यदि आप अजगर को चलाते समय यह पता लगाना चाहते हैं कि आप क्या कर सकते हैं:
import sys
print(sys.prefix)
.get()
एक डिफ़ॉल्ट भी दिया जा सकता है।
यह देखने के लिए कि क्या कुंजी मौजूद है (रिटर्न True
या False
)
'HOME' in os.environ
get()
कुंजी को प्रिंट करते समय भी आप उपयोग कर सकते हैं ; यदि आप डिफ़ॉल्ट का उपयोग करना चाहते हैं तो उपयोगी है।
print(os.environ.get('HOME', '/home/username/'))
/home/username/
डिफ़ॉल्ट कहां है
"HOME" in os.environ
या os.environ.get('HOME')
?
"HOME" in os.environ
बनाम os.environ.get('HOME') is None
। जैसा कि आप पहले देख सकते हैं कि काम करने के लिए कहीं अधिक पठनीय और आरामदायक है।
मूल प्रश्न (पहला भाग) "पायथन में पर्यावरण चर की जांच कैसे करें" था।
अगर $ FOO सेट है, तो यहां कैसे जांच करें:
try:
os.environ["FOO"]
except KeyError:
print "Please set the environment variable FOO"
sys.exit(1)
"if 'FOO' not in os.environ: ..."
ब्लॉक की तुलना में कम पठनीय लगता है
आप उपयोग कर पर्यावरण चर तक पहुँच सकते हैं
import os
print os.environ
PYTHONPATH या PYTHONHOME पर्यावरण चर की सामग्री को देखने का प्रयास करें, शायद यह आपके दूसरे प्रश्न के लिए सहायक होगा। हालाँकि आपको इसे स्पष्ट करना चाहिए।
पर्यावरण चर के रूप में:
import os
print os.environ["HOME"]
मुझे डर है कि एक सभ्य जवाब संभव होने से पहले आपको अपने दूसरे बिंदु को थोड़ा और अधिक मांस देना होगा।
वास्तव में इसे दूर किया जा सकता है:
import os
for item, value in os.environ.items():
print('{}: {}'.format(item, value))
या केवल:
for i, j in os.environ.items():
print(i, j)
पैरामीटर में मान देखने के लिए:
print(os.environ['HOME'])
या:
print(os.environ.get('HOME')
मान सेट करने के लिए:
os.environ['HOME'] = '/new/value'
str.format
सिर्फ एक फैंसी जोड़ है।
>>> import os, pprint; pprint.pprint(list(os.environ.items()))
यदि आप किसी उत्पादन वेब अनुप्रयोग कोड में कोड का उपयोग करने की योजना बना रहे हैं
, तो Django / फ्लास्क जैसी किसी भी वेब फ्रेमवर्क का उपयोग करते हुए, एन्वापर्स जैसी परियोजनाओं का उपयोग करें, इसका उपयोग करके आप अपने परिभाषित प्रकार के रूप में मूल्य पढ़ सकते हैं।
from envparse import env
# will read WHITE_LIST=hello,world,hi to white_list = ["hello", "world", "hi"]
white_list = env.list("WHITE_LIST", default=[])
# Perfect for reading boolean
DEBUG = env.bool("DEBUG", default=False)
नोट: kennethreitz का autoenv प्रोजेक्ट विशिष्ट पर्यावरण चर बनाने के लिए एक अनुशंसित उपकरण है, कृपया ध्यान दें कि जो लोग autoenv
कृपया उपयोग कर रहे हैं वे .env
फ़ाइल को निजी (सार्वजनिक के लिए दुर्गम) रखें
कई महान पुस्तकालय भी हैं। उदाहरण के लिए एनवीएस आपको अपने पर्यावरण चर से वस्तुओं को पार्स करने की अनुमति देगा, जो कि रेड है। उदाहरण के लिए:
from envs import env
env('SECRET_KEY') # 'your_secret_key_here'
env('SERVER_NAMES',var_type='list') #['your', 'list', 'here']
Django के लिए देखें ( https://github.com/joke2k/django-environ )
$ pip install django-environ
import environ
env = environ.Env(
# set casting, default value
DEBUG=(bool, False)
)
# reading .env file
environ.Env.read_env()
# False if not in os.environ
DEBUG = env('DEBUG')
# Raises django's ImproperlyConfigured exception if SECRET_KEY not in os.environ
SECRET_KEY = env('SECRET_KEY')
आप भी इसे आजमा सकते हैं
सबसे पहले, स्थापित करें python-decouple
pip install python-decouple
इसे अपनी फ़ाइल में आयात करें
from decouple import config
फिर env वेरिएबल प्राप्त करें
SECRET_KEY=config('SECRET_KEY')
अजगर पुस्तकालय के बारे में और अधिक पढ़ें यहाँ