Lire les variables d'environnement système avec python-partie 2

Aperçu

Appliquez Lire les variables d'environnement système avec python-Partie 1 pour créer un programme python qui acquiert des variables d'environnement système.

Constitution

EnvironWrapper.py


import os

class EnvironWrapper:
    """ 
    class:EnvironWrapper

Aperçu:Une classe qui contient les paramètres de démarrage lus à partir des variables d'environnement
    """

    #Variable d'environnement
    defaultenv_context = {
        "SECRET_KEY" : 'naishokey', # SECRET_KEY
        "DEBUG_FLG" : 'true', # DEBUG_FLG
        "ALLOWED_HOSTS" : None,   # ALLOWED_HOSTS
    }
    #Variable d'environnement
    getenv_context = {}
    def __init__(self):
        """
constructeur
        os.Lire les variables d'environnement depuis environ
        """
        for key, value in self.defaultenv_context.items():
            param = os.getenv(key, default=value)
            if key == "DEBUG_FLG" :
                param = False if param.lower().startswith('false') else True
            self.getenv_context[key] = param

    def GetParams(self, key : str) -> object:
        """
        GetParams:Processus d'acquisition de variables d'environnement

        Arguments:
            key {str} --Clé de variable d'environnement

        Returns:
            object --Valeur de la variable d'environnement
        """
        return self.getenv_context[key]

if __name__ == "__main__":
    env = EnvironWrapper()

    for key, value in env.getenv_context.items():
        print(f"key:{key}, value:{value}")

Les variables d'environnement système incluent également des données persistantes telles que% USERNAME% pour Windows, et je souhaite les limiter uniquement aux variables d'environnement système dont j'ai besoin. Définissez les variables d'environnement système utilisées dans defaultenv_context et leurs valeurs par défaut, et stockez les variables d'environnement système nécessaires dans getenv_context sous forme de dictionnaire. Puisque ʻos.environ` est un type de dictionnaire en premier lieu, il est nommé comme une classe wrapper d'env.


EnvironWrapperRun.bat


@ECHO OFF

ECHO <valeur d'entrée>
Lire le fichier de configuration REM
FOR /F "usebackq delims== tokens=1,2" %%i IN ("setting.ini") do (
    SET %%i=%%j
    SET %%i
)

ECHO:
ECHO <valeur acquise>
python EnvironWrapper.py

EnvironWrapperRun.sh


#!/bin/bash

#Lire le fichier de paramètres
echo <valeur d'entrée>
while read line
do
export $line
echo $line
done < setting.ini

echo <valeur acquise>
python3 EnvironWrapper.py

setting.ini


SECRET_KEY=1234567890qwertyuiopasdfghjklzxcvbnm
DEBUG_FLG=True
ALLOWED_HOSTS=127.0.0.1

Les variables d'environnement système définies cette fois sont résumées dans setting.ini afin qu'elles ne dépendent pas du système d'exploitation. Étant donné que l'utilisation des variables d'environnement système diffère selon le système d'exploitation, les fichiers de démarrage sont séparés. Lisez setting.ini ligne par ligne dans le fichier de démarrage, définissez-le dans la variable d'environnement système, puis exécutez le programme python.

Prochain challenge

Comme vous pouvez le voir dans le contenu de setting.ini, il définit les valeurs de paramètres utilisées dans le setting.py de Django. Considérez un mécanisme qui autorise DI au démarrage en fonction de l'état de développement (develop-staging-release) de la valeur de paramétrage de setting.py.

Recommended Posts

Lire les variables d'environnement système avec python-partie 2
Définir des variables d'environnement avec lambda-uploader
Variables shell, variables d'environnement
environnement python avec docker-compose
[Pour les débutants] Lire les informations d'authentification DB à partir des variables d'environnement
Lire Excel avec openpyxl
Environnement virtuel avec Python 3.6
accès mongodb avec pymongo
[Note] Faites fonctionner MongoDB avec Python
Principes de base pour toucher MongoDB avec MongoEngine
Manipuler des chaînes avec un groupe pandas par
Lire les variables d'environnement système avec python-partie 1
Lire les variables d'environnement système avec python-partie 2
Variables d'environnement lors de l'utilisation de Tkinter
Lire csv avec des pandas python
Environnement toxique facile avec Jenkins
Lire les coordonnées de l'image avec Python-matplotlib
Gérer les variables d'environnement Go (viper)
Créer un environnement avec virtualenv
Environnement de site Web de configuration minimale avec django
Installer l'environnement Python avec Anaconda
Gérez l'environnement python avec virtualenv
Que sont les variables d'environnement? (Linux)
Environnement Venv avec Windows PowerShell
Gérer les variables d'environnement en Python
Créer un environnement python3 avec ubuntu 16.04
Variables d'environnement HTTP dans Flask
Préparer l'environnement python3 avec Docker
Construire un environnement python avec direnv
Système de support de présentation avec Python3
Changer d'environnement virtuel avec jupyter
Lire des données json avec python