উত্তর:
পরিবেশের ভেরিয়েবলগুলি os.en পরিবেশের মাধ্যমে অ্যাক্সেস করা হয়
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
। আপনি প্রথম দেখতে পাচ্ছেন যে কাজ করার জন্য অনেক বেশি পাঠযোগ্য এবং আরামদায়ক।
মূল প্রশ্নটি (প্রথম অংশ) ছিল "কীভাবে পাইথনে পরিবেশের ভেরিয়েবলগুলি পরীক্ষা করা যায়"।
এখানে $ এফইও সেট করা আছে কি না তা পরীক্ষা করে দেখুন:
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
পাইথনপথ বা পাইথনহোম এনভায়রনমেন্ট ভেরিয়েবলের বিষয়বস্তু দেখার চেষ্টা করুন, সম্ভবত এটি আপনার দ্বিতীয় প্রশ্নের জন্য সহায়ক হবে। তবে আপনার এটি পরিষ্কার করা উচিত।
পরিবেশের পরিবর্তনশীল হিসাবে:
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()))
আপনি যদি
জ্যাঙ্গো / ফ্লাস্কের মতো কোনও ওয়েব কাঠামো ব্যবহার করে কোনও প্রোডাকশন ওয়েব অ্যাপ্লিকেশন কোডে কোডটি ব্যবহার করার পরিকল্পনা করছেন , এনভপার্সির মতো প্রকল্পগুলি ব্যবহার করুন, এটি ব্যবহার করে আপনি মানটিকে আপনার সংজ্ঞায়িত প্রকার হিসাবে পড়তে পারেন।
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
দয়া করে .env
ফাইলটি ব্যক্তিগত রাখুন (জনসাধারণের কাছে অ্যাক্সেসযোগ্য)
এখানে অনেকগুলি দুর্দান্ত গ্রন্থাগার রয়েছে। উদাহরণস্বরূপ এনভগুলি আপনাকে আপনার পরিবেশের ভেরিয়েবলগুলির বাইরে বস্তুগুলি পার্স করার অনুমতি দেবে যা রেড। উদাহরণ স্বরূপ:
from envs import env
env('SECRET_KEY') # 'your_secret_key_here'
env('SERVER_NAMES',var_type='list') #['your', 'list', 'here']
জ্যাঙ্গোর জন্য দেখুন ( https://github.com/joke2k/django-en वातावरण )
$ 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
তারপরে এনভ ভেরিয়েবলটি পাবেন
SECRET_KEY=config('SECRET_KEY')
পাইথন লাইব্রেরি সম্পর্কে এখানে আরও পড়ুন