මගේ පයිතන් යෙදුමට ප්රවේශ වීමට අවශ්ය පරිසර විචල්යයක් මම සකසා ඇත්තෙමි. එහි වටිනාකම මා ලබා ගන්නේ කෙසේද?
මගේ පයිතන් යෙදුමට ප්රවේශ වීමට අවශ්ය පරිසර විචල්යයක් මම සකසා ඇත්තෙමි. එහි වටිනාකම මා ලබා ගන්නේ කෙසේද?
Answers:
පාරිසරික විචල්යයන් os.en Environment හරහා ප්රවේශ වේ
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
. ඔබට මුලින් පෙනෙන පරිදි වැඩ කිරීමට වඩා කියවිය හැකි සහ සුව පහසු ය.
මුල් ප්රශ්නය (පළමු කොටස) "පයිතන්හි පරිසර විචල්යයන් පරීක්ෂා කරන්නේ කෙසේද" යන්නයි.
OO 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()))
නිෂ්පාදන වෙබ් යෙදුම් කේතයක කේතය භාවිතා කිරීමට ඔබ අදහස් කරන්නේ නම්,
ජැන්ගෝ / ෆ්ලැස්ක් වැනි ඕනෑම වෙබ් රාමුවක් භාවිතා කරමින්, එන්වර්පාර්ස් වැනි ව්යාපෘති භාවිතා කරන්න, එය භාවිතා කිරීමෙන් ඔබට අර්ථ දක්වන ලද වර්ගය ලෙස අගය කියවිය හැකිය.
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's autoenv යනු ව්යාපෘති විශේෂිත පරිසර විචල්යයන් සෑදීම සඳහා නිර්දේශිත මෙවලමකි, කරුණාකර භාවිතා කරන අය බව සලකන්නautoenv
.env
ගොනුව පුද්ගලිකව තබා ගන්න (මහජනයාට ප්රවේශ විය නොහැක)
විශිෂ්ට පුස්තකාල ගණනාවක් ද තිබේ. උදාහරණයක් ලෙස Envs මඟින් ඔබේ පරිසර විචල්යයන්ගෙන් වස්තු විග්රහ කිරීමට ඉඩ ලබා දේ. උදාහරණයක් වශයෙන්:
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 Environment )
$ 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')
පයිතන් පුස්තකාලය ගැන වැඩි විස්තර මෙතැනින් කියවන්න