variable - windows configure python path




Come posso accedere alle variabili d'ambiente da Python? (8)

È possibile accedere alle variabili d'ambiente utilizzando

import os
print os.environ

Prova a vedere il contenuto delle variabili di ambiente PYTHONPATH o PYTHONHOME, forse questo sarà utile per la tua seconda domanda. Comunque dovresti chiarirlo.

Ho impostato una variabile di ambiente a cui voglio accedere nella mia applicazione Python. Come ottengo questo valore?


Ecco un'opzione a una riga assumendo che il sistema di importazione sia stato eseguito:

for key in os.environ: print(key,':',os.environ[key])

o con la formattazione:

for key in os.environ: print('{:>30} {:<4} {:}'.format(key,':',os.environ[key]))

In realtà si può fare questo via:

import os

for item, value in os.environ.items():
    print('{}: {}'.format(item, value))

O semplicemente:

for i, j in os.environ.items():
    print(i, j)

Per visualizzare il valore nel parametro:

print(os.environ['HOME'])

O:

print(os.environ.get('HOME')

Per impostare il valore:

os.environ['HOME'] = '/new/value'

La domanda originale (prima parte) era "come verificare le variabili d'ambiente in Python".

Ecco come controllare se $ FOO è impostato:

try:  
   os.environ["FOO"]
except KeyError: 
   print "Please set the environment variable FOO"
   sys.exit(1)

Per quanto riguarda le variabili ambientali:

import os
print os.environ["HOME"]

Ho paura che tu debba approfondire il tuo secondo punto un po 'prima che sia possibile una risposta decente.


Per verificare se la chiave esiste (restituisce True / False )

"HOME" in os.environ

o (rimosso da python 3.x)

os.environ.has_key("HOME")

Puoi anche usare get() quando stampi la chiave; utile se si desidera utilizzare un valore predefinito. (per python 2.7.3)

print os.environ.get('HOME','/home/username/')

dove /home/username/ è l'impostazione predefinita


per os.environ.get :

try:  
   env_value = os.environ.get("key_maybe_not_exist")
except KeyError: 
   print("Not exist environment value for %s" % "key_maybe_not_exist")

o:

if "key_maybe_not_exist" in os.environ:
    existed_env_value = os.environ["key_maybe_not_exist"]

per os.getenv :

existed_env_value = os.getenv("key_maybe_not_exist")

equivalente a:

existed_env_value = os.getenv("key_maybe_not_exist", default=None)

import os
for a in os.environ:
    print('Var: ', a, 'Value: ', os.getenv(a))
print("all done")

Questo stamperà tutte le variabili d'ambiente insieme ai loro valori.







environment-variables