Am stabilit o variabilă de mediu pe care vreau să acces în aplicație Python. Cum a face I a lua această valoare?
Variabilele de mediu sunt accesate prin os.environ
import os
print(os.environ['HOME'])
Sau puteți vedea o listă cu toate variabilele de mediu folosind:
os.environ
Ca uneori s-ar putea nevoie pentru a vedea o listă completă!
# 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))
Python instalare implicită pe Windows este C:\Python
. Dacă doriți pentru a afla în timp ce rulează python puteți face:
import sys
print(sys.prefix)
Pentru a verifica dacă există cheia (returnează "Adevărat" sau "Fals")
'HOME' in os.environ
Puteți folosi, de asemenea, get()
atunci când imprimarea cheie; util dacă doriți să utilizați un default.
print(os.environ.get('HOME', '/home/username/'))
unde /home/username/
este implicit
Întrebarea inițială (prima parte) a fost "cum de a verifica variabilele de mediu în Python."
Aici's cum pentru a verifica dacă $FOO este setat:
try:
os.environ["FOO"]
except KeyError:
print "Please set the environment variable FOO"
sys.exit(1)
Puteți avea acces la variabilele de mediu, folosind
import os
print os.environ
Încercați pentru a vedea conținutul de PYTHONPATH sau PYTHONHOME variabile de mediu, poate că acest lucru va fi util pentru a doua întrebare. Cu toate acestea, ar trebui să-l clarifice.
De fapt, acesta poate fi făcut asta de aici:
import os
for item, value in os.environ.items():
print('{}: {}'.format(item, value))
Sau pur și simplu:
for i, j in os.environ.items():
print(i, j)
Pentru a vizualiza valoarea din parametrul:
print(os.environ['HOME'])
Sau:
print(os.environ.get('HOME')
Pentru a seta valoarea:
os.environ['HOME'] = '/new/value'
Dacă sunteți de planificare pentru a utiliza codul într-o producție codul de aplicație web, folosind orice cadru web ca Django/Balon, utilizarea de proiecte, cum ar fi envparse, folosind-o puteți citi valoarea definită tip.
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)
NOTĂ: kennethreitz's autoenv este un instrument recomandat pentru a face proiectul specifice variabilele de mediu, vă rugăm să rețineți că cei care folosesc autoenv
vă rugăm să păstrați .env
fișier privat (inaccesibil pentru public)
Nu's, de asemenea, un număr mare de biblioteci. Envs de exemplu, vă va permite de a analiza obiectele din variabilele de mediu, care se rad. De exemplu:
from envs import env
env('SECRET_KEY') # 'your_secret_key_here'
env('SERVER_NAMES',var_type='list') #['your', 'list', 'here']