os.environ
se comporte comme un dictionnaire python, de sorte que toutes les opérations courantes du dictionnaire peuvent être effectuées. En plus des opérations get
et set
mentionnées dans les autres réponses, nous pouvons également simplement vérifier si une clé existe. Les clés et les valeurs doivent être stockées sous forme de chaînes .
Python 3
Pour python 3, les dictionnaires utilisent le mot clé in au lieu de has_key
>>> import os
>>> 'HOME' in os.environ # Check an existing env. variable
True
...
Python 2
>>> import os
>>> os.environ.has_key('HOME') # Check an existing env. variable
True
>>> os.environ.has_key('FOO') # Check for a non existing variable
False
>>> os.environ['FOO'] = '1' # Set a new env. variable (String value)
>>> os.environ.has_key('FOO')
True
>>> os.environ.get('FOO') # Retrieve the value
'1'
Il y a une chose importante à noter à propos de l'utilisation os.environ
:
Bien que les processus enfants héritent de l'environnement du processus parent, j'ai rencontré récemment un problème et j'ai compris que si vous avez d'autres scripts mettant à jour l'environnement pendant que votre script python est en cours d'exécution, appeler à os.environ
nouveau ne reflétera pas les dernières valeurs .
Extrait des documents :
Ce mappage est capturé la première fois que le module os est importé, généralement lors du démarrage de Python dans le cadre du traitement site.py. Les modifications apportées à l'environnement après cette heure ne sont pas reflétées dans os.environ, à l'exception des modifications apportées en modifiant directement os.environ.
os.environ.data
qui stocke toutes les variables d'environnement, est un objet dict, qui contient toutes les valeurs d'environnement:
>>> type(os.environ.data) # changed to _data since v3.2 (refer comment below)
<type 'dict'>