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.
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.
SET variable name = variable value
,% variable value%
,
$ variable value`,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