- À propos des variables d'environnement Python
- Accéder aux variables d'environnement avec os.environ
- Lire une variable d'environnement
- Utiliser os.environ.get()
- Créer et modifier une variable d'environnement
- Supprimer une variable d'environnement
- Parcourir les variables d'environnement
- Tester l'existence d'une variable d'environnement
- Utiliser les variables d'environnement dans une application
- A retenir !
1. À propos des variables d'environnement Python
Une variable d'environnement est une information associée à l'environnement dans lequel un programme est exécuté. Le système d'exploitation et les applications utilisent ces variables pour stocker différentes informations de configuration.
Parmi les variables d'environnement courantes, nous trouvons par exemple PATH, HOME sous Linux et macOS ou USERPROFILE sous Windows.
Python permet d'accéder aux variables d'environnement grâce au module os et plus particulièrement à l'objet os.environ.
Le programme suivant importe le module os et vérifie le type de os.environ.
1 2 3 | import os print(type(os.environ)) |
Sortie possible :
1 | <class 'os._Environ'> |
os.environ se comporte de manière similaire à un dictionnaire Python : les noms des variables constituent les clés et leurs contenus constituent les valeurs.
2. Accéder aux variables d'environnement avec os.environ
L'objet os.environ contient les variables d'environnement accessibles au processus Python. Nous pouvons l'afficher directement afin d'observer son contenu.
Le programme suivant affiche les variables d'environnement disponibles au moment de son exécution.
1 2 3 | import os print(os.environ) |
Sortie possible :
1 | environ({'PATH': '...', 'TEMP': '...', 'USERNAME': '...'}) |
Le contenu exact dépend du système d'exploitation, de l'utilisateur et de la configuration de l'ordinateur. Un ordinateur Windows n'affichera donc pas nécessairement les mêmes variables qu'un système Linux ou macOS.
3. Lire une variable d'environnement
Comme os.environ fonctionne de manière similaire à un dictionnaire, nous pouvons accéder à une variable en indiquant son nom entre crochets. Pour lire la variable PATH, nous pouvons utiliser os.environ["PATH"].
Le programme suivant récupère et affiche la valeur de la variable PATH.
1 2 3 4 | import os path = os.environ["PATH"] print(path) |
Sortie possible sous Windows :
1 | C:\Windows\system32;C:\Windows;C:\Python313;... |
La variable PATH contient notamment une liste de dossiers dans lesquels le système recherche les programmes exécutables.
L'accès avec les crochets suppose toutefois que la variable existe. Si nous demandons une variable absente, Python déclenche une exception KeyError.
1 2 3 | import os print(os.environ["VARIABLE_INCONNUE"]) |
Sortie possible :
1 | KeyError: 'VARIABLE_INCONNUE' |
4. Utiliser os.environ.get()
La méthode os.environ.get() permet également de récupérer la valeur d'une variable d'environnement. Elle présente un avantage important : si la variable demandée n'existe pas, elle ne déclenche pas de KeyError.
Le programme suivant recherche une variable appelée MON_APPLICATION. Si celle-ci n'existe pas, get() renvoie la valeur None.
1 2 3 4 | import os valeur = os.environ.get("MON_APPLICATION") print(valeur) |
Sortie si la variable n'existe pas :
1 | None |
Nous pouvons également fournir une valeur par défaut comme deuxième argument de get(). Cette valeur sera utilisée lorsque la variable d'environnement demandée n'existe pas.
1 2 3 4 | import os mode = os.environ.get("MODE_APPLICATION", "production") print(mode) |
Sortie si MODE_APPLICATION n'existe pas :
1 | production |
Cette méthode est particulièrement pratique pour définir une configuration par défaut dans une application Python.
5. Créer et modifier une variable d'environnement
Il est possible de créer une variable d'environnement depuis Python en lui affectant une valeur dans os.environ. Le fonctionnement ressemble à l'ajout d'un élément dans un dictionnaire.
Le programme suivant crée une variable appelée MON_SITE puis affiche sa valeur.
1 2 3 4 | import os os.environ["MON_SITE"] = "tresfacile.net" print(os.environ["MON_SITE"]) |
Sortie :
1 | tresfacile.net |
Une variable existante peut être modifiée de la même manière. Il suffit d'affecter une nouvelle valeur à sa clé.
1 2 3 4 5 6 7 | import os os.environ["MODE"] = "developpement" print(os.environ["MODE"]) os.environ["MODE"] = "production" print(os.environ["MODE"]) |
Sortie :
1 2 | developpement production |
Les valeurs affectées à os.environ doivent être des chaînes de caractères. De plus, les modifications réalisées de cette manière concernent l'environnement du processus Python courant et sont transmises aux processus enfants créés ensuite ; elles ne créent pas automatiquement une variable permanente dans la configuration générale du système.
6. Supprimer une variable d'environnement
Une variable présente dans os.environ peut être supprimée avec l'instruction del, de la même manière qu'une entrée d'un dictionnaire.
Le programme suivant crée une variable MON_TEST, la supprime puis vérifie son existence.
1 2 3 4 5 6 | import os os.environ["MON_TEST"] = "Python" del os.environ["MON_TEST"] print(os.environ.get("MON_TEST")) |
Sortie :
1 | None |
La méthode pop() constitue une autre possibilité. Elle supprime la variable tout en permettant de récupérer sa valeur.
1 2 3 4 5 6 7 | import os os.environ["LANGAGE"] = "Python" valeur = os.environ.pop("LANGAGE") print(valeur) print(os.environ.get("LANGAGE")) |
Sortie :
1 2 | Python None |
7. Parcourir les variables d'environnement
Puisque os.environ se comporte comme un dictionnaire, nous pouvons utiliser une boucle for pour parcourir les variables d'environnement disponibles.
Le programme suivant affiche uniquement le nom de chaque variable d'environnement.
1 2 3 4 | import os for nom in os.environ: print(nom) |
Sortie possible :
1 2 3 4 5 6 | PATH TEMP USERNAME USERPROFILE APPDATA ... |
Pour récupérer simultanément le nom et la valeur de chaque variable, nous pouvons utiliser la méthode items().
1 2 3 4 | import os for nom, valeur in os.environ.items(): print(nom, "=", valeur) |
Sortie possible :
1 2 3 4 | USERNAME = Younes TEMP = C:\Users\Younes\AppData\Local\Temp PATH = C:\Windows\system32;... ... |
Les variables et les valeurs réellement affichées dépendent de la configuration de l'ordinateur sur lequel le programme est exécuté.
8. Tester l'existence d'une variable d'environnement
L'opérateur in permet de vérifier facilement si une variable existe dans os.environ. Cette vérification est utile avant d'accéder directement à une variable avec les crochets.
Le programme suivant vérifie si la variable PATH est disponible.
1 2 3 4 5 6 | import os if "PATH" in os.environ: print("La variable PATH existe.") else: print("La variable PATH n'existe pas.") |
Sortie habituelle :
1 | La variable PATH existe. |
Nous pouvons appliquer exactement le même principe à une variable personnalisée utilisée par notre application.
1 2 3 4 5 6 | import os if "MON_SITE" in os.environ: print("MON_SITE =", os.environ["MON_SITE"]) else: print("La variable MON_SITE n'est pas définie.") |
Sortie possible :
1 | La variable MON_SITE n'est pas définie. |
9. Utiliser les variables d'environnement dans une application
Les variables d'environnement sont souvent utilisées pour fournir à une application des paramètres qui peuvent changer selon son environnement d'exécution. Il peut s'agir, par exemple, du mode d'exécution, du nom d'un serveur ou d'un chemin de stockage.
Le programme suivant récupère le mode de fonctionnement de l'application. Si la variable APP_MODE n'est pas définie, la valeur production est utilisée par défaut.
1 2 3 4 5 6 7 8 | import os mode = os.environ.get("APP_MODE", "production") if mode == "developpement": print("Application en mode développement.") else: print("Application en mode production.") |
Sortie possible :
1 | Application en mode production. |
Les variables d'environnement sont également couramment utilisées pour fournir des informations sensibles telles que des clés API ou des paramètres de connexion sans les écrire directement dans le code source.
Le programme suivant récupère une clé depuis une variable API_KEY et vérifie uniquement sa présence sans afficher sa valeur.
1 2 3 4 5 6 7 8 | import os api_key = os.environ.get("API_KEY") if api_key: print("La clé API est disponible.") else: print("La clé API n'est pas définie.") |
Sortie possible :
1 | La clé API est disponible. |
Pour une information sensible, il est préférable de ne jamais afficher directement sa valeur dans la console, les journaux ou les messages d'erreur.
10. A retenir
L'objet os.environ du module os permet à un programme Python de consulter et de modifier son environnement d'exécution.
- os.environ donne accès aux variables d'environnement.
- os.environ["NOM"] permet de récupérer directement une variable existante.
- os.environ.get("NOM") permet de récupérer une variable sans provoquer de KeyError lorsqu'elle est absente.
- os.environ.get("NOM", "valeur") permet de définir une valeur par défaut.
- os.environ["NOM"] = "valeur" permet de créer ou modifier une variable dans l'environnement du processus.
- del os.environ["NOM"] permet de supprimer une variable de cet environnement.
- os.environ.items() permet de parcourir les noms et les valeurs.
- Les variables d'environnement sont utiles pour configurer une application sans placer tous ses paramètres directement dans le code.
Le programme suivant résume une utilisation courante de os.environ avec une valeur par défaut.
1 2 3 4 5 6 7 | import os nom = os.environ.get("APP_NAME", "Mon application") mode = os.environ.get("APP_MODE", "production") print("Application :", nom) print("Mode :", mode) |
Sortie possible :
1 2 | Application : Mon application Mode : production |
Auteur : Younes Derfoufi
Lieu de travail : CRMEF OUJDA
Site Web : www.tresfacile.net
Chaine YouTube : https://www.youtube.com/user/InformatiquesFacile
Me contacter : https://www.tresfacile.net/me-contacter/


