Maison  >  Article  >  développement back-end  >  Accéder à la valeur des variables d'environnement en Python

Accéder à la valeur des variables d'environnement en Python

王林
王林avant
2023-08-25 22:17:051154parcourir

Accéder à la valeur des variables denvironnement en Python

Les variables d'environnement en Python sont des valeurs de configuration stockées en dehors du code et utilisées par l'application au moment de l'exécution. Ces variables existent sous forme de paires clé-valeur, tout comme les dictionnaires en Python. Ces variables peuvent être définies, mises à jour ou supprimées dans le fichier de configuration sans modifier le code de l'application. Python fournit un certain nombre de fonctions du système d'exploitation pour accéder aux variables d'environnement sans affecter le code de l'application. Dans cet article, nous apprendrons comment accéder aux variables d'environnement en Python.

Utilisation des modules du système d'exploitation

Pour interagir avec le système d'exploitation, python dispose d'un module os à l'aide duquel vous pouvez interagir avec le système d'exploitation et accéder aux variables d'environnement. Le dictionnaire os.environ contient toutes les variables d'environnement dans des paires clé-valeur.

Nous pouvons utiliser os.environ pour accéder au chemin d'accès aux variables d'environnement ainsi qu'à toute nouvelle valeur de variable d'environnement.

Exemple

import os

# get the value of the PATH environment variable
path = os.environ['PATH']
print(path)

# set a new environment variable
os.environ['MY_VAR'] = 'my value'

# get the value of the new environment variable
my_var = os.environ['MY_VAR']
print(my_var)

Sortie

/opt/bin:/usr/local/nvidia/bin:/usr/local/cuda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/tools/node/bin:/tools/google-cloud-sdk/bin
my value

Exemple

Le code génère une erreur critique si la variable d'environnement n'est pas trouvée. Pour éviter de telles erreurs, nous pouvons utiliser la fonction os.environ.get() pour accéder aux variables d'environnement et éviter les erreurs de clé lorsque la clé n'est pas trouvée.

import os

# get the value of the MY_VAR environment variable, or return None
my_var = os.environ.get('MY_VAR')
print(my_var)

Sortie

None

Utilisation du module Dotenv

Dans l'industrie, nous utilisons différents environnements pour les bases de code de développement, de préparation et de production. Il existe un fichier de variables d'environnement distinct pour chaque environnement. Dotenv est une bibliothèque tierce permettant d'accéder aux variables d'environnement dans plusieurs environnements.

Installation

Pour utiliser le module dotenv, nous devons d'abord installer python-dotenv via la commande suivante

pip install python-dotenv

Pip est un gestionnaire de packages Python. Pip install python-dotenv Installe le module dotenv dans le système de fichiers local.

Après avoir installé le module python-dotenv, nous devons créer un fichier .env dans le répertoire racine du projet et y créer des valeurs d'environnement sous forme de paires clé-valeur.

MY_KEY_VAR=my_value

My_KEY_VAR est la clé de la variable d'environnement, et my_value est la valeur correspondante.

Maintenant, nous pouvons charger des fichiers .env dans notre code Python partout où cela est nécessaire à l'aide de la fonction dotenv.load_dotenv(), qui lit le fichier .env et charge toutes les variables d'environnement dans le module os.environ.

Exemple

from dotenv import load_dotenv
import os

# load the environment variables from the .env file
load_dotenv()

# get the value of the MY_VAR environment variable
my_var = os.environ['MY_KEY_VAR']
print(my_var)

Sortie

my_value

Utilisation du module Argparse

argparse est une bibliothèque standard en Python pour analyser les arguments de ligne de commande. Nous pouvons transmettre des variables d'environnement comme arguments de ligne de commande en Python à l'aide de la bibliothèque argparse.

Algorithme

  • Définissez un argument de ligne de commande pour chaque variable d'environnement que nous voulons transmettre.

  • Utilisez ensuite l'objet args renvoyé par argparse pour accéder aux variables d'environnement.

  • Transmettez les variables d'environnement et leurs valeurs lors de l'exécution du fichier.

Exemple

import argparse

parser = argparse.ArgumentParser()
parser.add_argument('--my-var')
args = parser.parse_args()

my_var = args.my_var
print(my_var)

Sortie

None

Lors de l'exécution du fichier ci-dessus, nous devons transmettre la valeur de l'environnement par nom de clé.

python script.py --my-var "my value"

Lorsque nous passons une option –my-var et sa valeur « ma valeur » dans la ligne de commande, la méthode parse_args() du module argparse analyse l'option et obtient sa valeur, qui est « ma_valeur » .

Utilisation du module analyseur de configuration

Configuration Parser est une bibliothèque Python permettant de lire les fichiers de configuration dans les applications Python.

Algorithme

Pour utiliser le module analyseur de configuration, nous devons

  • Créez un fichier de configuration et déclarez les variables d'environnement selon les besoins sous la forme de paires clé-valeur pour chaque partie (telle que le développement, la production et la préparation).

  • Utilisez la fonction os.getenv() dans le fichier Python pour accéder à l'environnement actuel.

  • Dans les fichiers Python qui doivent accéder aux variables d'environnement, nous pouvons utiliser le module ConfigParser pour accéder aux variables d'environnement de l'environnement actuel.

[development]
MY_VAR=my value

[production]
MY_VAR=another value

import configparser
import os

# get the current environment
env = os.getenv('ENVIRONMENT', 'development')

# read the configuration file
config = configparser.ConfigParser()
config.read('config.ini')

# get the value of the MY_VAR environment variable for the current environment
my_var = config.get(env, 'MY_VAR')
print(my_var)

Conclusion

Dans cet article, nous avons exploré différentes manières d'accéder aux variables d'environnement dans les fichiers Python. Nous avons appris comment accéder aux variables d'environnement à l'aide du module os, comment accéder aux variables d'environnement dans plusieurs environnements à l'aide de la bibliothèque dotenv, comment transmettre des variables d'environnement comme arguments de ligne de commande à l'aide du module argparse et comment utiliser le Module ConfigParser Accédez aux variables d'environnement de l'environnement actuel à partir de plusieurs environnements.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer