Come usare le variabili d’ambiente, ovvero le environment variable in Python? È quello che scoprirai in questo articolo!
Ciao mi chiamo Lorenzo Neri e sono un informatico: realizzo contenuti per aiutare le persone a padroneggiare l’arte del nuovo millennio, ovvero l’informatica!
Le variabili d’ambiente possono tornare molto molto comode, soprattutto quando si tratta di aumentare la sicurezza dei nostri script, ma anche di rendere più fluido il funzionamento degli stessi.
Per esempio, anziché cambiare manualmente l’utente, quindi la variabile d’ambiente “user”, che magari è parte di un percorso all’interno di uno script Python, possiamo rendere automatico il processo.
In che senso? Ammettiamo che lo script debba girare sul PC di qualcun altro: non possiamo certamente modificare in corso d’opera lo username presente nello script.
Qualcuno direbbe “scritto hardcoded” o ancora più tecnichese in italiano “hardcodato”.
E a questo punto sarebbe opportuno capire come procedere.
Come ottenere le variabili d’ambiente in Python
Il primo passo è capire come si ottengono.
Ciò di cui abbiamo bisogno per proseguire è il pacchetto “os”, nello specifico di “environ”:
import os
print(os.environ)
Arrivato a questo punto, come ottenere una variabile d’ambiente nello specifico? Tramite il metodo “get”.
Per esempio:
utente = os.environ.get("USER")
print(utente)
>>> "istorn"
Passiamo oltre per capire altri aspetti.
Come impostare le variabili d’ambiente
Possiamo impostare le variabili d’ambiente: nel senso che le possiamo modificare.
Il processo di modifica, avviene in maniera analoga a ciò che succede con i dizionari in Python.
Devo fare una precisazione però: il processo modifica le environment variable della sessione in cui stai operando tu.
Ciò detto, proseguiamo così:
os.environ["USER"] = "Pippo"
Non potevo non usare “Pippo” in un esempio, ti pare? 😀
C’è però anche un’altra strada per poter accedere alle environment variabile: scopriamola assieme.
Il secondo metodo per usare le variabili d’ambiente: getenv
Un altro metodo che ci permette di usare le variabili d’ambiente è appunto “getenv”.
Funziona alla stessa stregua di quanto abbiamo visto fino ad ora assieme:
import os
environment_variable_che_vuoi_ottenere = os.getenv('CHIAVE', valore_default)
Il parametro “valore_default” dentro la funzione “getenv” serve nel caso in cui la chiave ‘CHIAVE’ non esista e quindi viene associato un valore di default alla variabile in questione.
E se non fossi sicuro di ciò… beh… Ok dai te lo dico ma perché mi stai simpatico.
Come verificare se esiste una environment variabile in Python
Chiaramente esiste un modo abbastanza carino e rapido per capire se esistono prima di andare a colpo sicuro ed usare le variabili d’ambiente di cui hai bisogno.
… È molto “Pythonico” sai?
"VARIABILE_CHE_CERCHI" is in os.environ
C’è anche un altro modo “Pythonico” per farlo:
print(os.environ.get("CHIAVE_CHE_CERCHI", "No, non esiste"))
Ti invito a scoprire da solo che succede, ma se volessi capire un po’ più a fondo questo concetto di “pythonico” ne ho parlato anche in un altro articolo 🙂