Paramétrage par le configurateur python

Décrit comment définir des paramètres à l'aide de configparser, qui est une bibliothèque standard de python, et comment utiliser les paramètres de configuration.

git : k-washi

Fichier ini

Il s'agit d'un fichier qui décrit les paramètres à lire par configparser. A titre d'exemple, il peut être décrit comme suit. Les commentaires peuvent être écrits en utilisant #.

config.ini


[Microphone]
#ID de Mike
ID = 0
SamplingRate = 44100

[Output]
#ID du périphérique de sortie
ID = 1
#Record 1:Sortie vers SavePath, 0:Continuez à sortir vers le périphérique d'ID.
Record = 1
#recording time [sec] >= 1
RecordTime = 15

Lire le fichier de paramètres

Lisez le fichier et les paramètres config.ini. Pour l'enregistreur, reportez-vous à Comment utiliser le module de journalisation Python.

  1. S'il existe un fichier de paramètres, lisez le fichier de paramètres avec config_ini.read ().
  2. Lisez la valeur de réglage avec config_ini ["classification de réglage"] ["nom de valeur de réglage"].

Puisque la valeur du paramètre de lecture est une chaîne, convertissez le nombre avec int, float, etc. En outre, les valeurs Oui / Non définies dans 0 et 1 peuvent être converties en True et False en les définissant sur bool.

utils/config.py


import os
import sys

sys.path.append(os.path.join(os.path.dirname(__file__), '..'))

# ------------

from utils.logConf import logging
logger = logging.getLogger(__name__)

# -------------

import configparser
CONFIG_FILE_PATH = './config.ini'


class configInit():
  def __init__(self):
    config_ini = configparser.ConfigParser()
    if not os.path.exists(CONFIG_FILE_PATH):
      logger.error('Il n'y a pas de fichier de configuration')
      exit(-1)
    config_ini.read(CONFIG_FILE_PATH, encoding='utf-8')
    logging.info('----Démarrer le réglage----')
    try:
      self.MicID = int(config_ini['Microphone']['ID'])
      self.SamplingRate = int(config_ini['Microphone']['SamplingRate'])

      self.OutpuID = int(config_ini['Output']['ID'])
      self.Record = bool(int(config_ini['Output']['Record']))
      self.RecordTime = float(config_ini['Output']['RecordTime'])

    except Exception as e:
      logger.critical("config error {0}".format(e))

Utiliser la valeur définie

  1. Importez la classe de paramètres configInit du fichier de lecture de paramètres.
  2. Instanciez avec Conf = configInit () et chargez le fichier de configuration.
  3. Conf. Peut être utilisé avec le nom de la valeur définie
import os
import sys

sys.path.append(os.path.join(os.path.dirname(__file__), '..'))

# ------------

from utils.config import configInit
Conf = configInit()

from utils.logConf import logging
logger = logging.getLogger(__name__)
# -----------

logger.info(Conf.MicID)
#2020-01-15 17:12:03,929 [config.py:28] INFO     ----Démarrer le réglage----
#2020-01-15 17:12:03,930 [confTest.py:15] INFO     0                 #MicID

Résumé

C'est tout à propos du fichier de configuration python. Lors de la création d'un système, il est recommandé de le définir aussi facilement que ci-dessus car il y aura moins de modifications lors de la tentative de paramétrage externe plus tard.

Recommended Posts

Paramétrage par le configurateur python
Mon ConfigParser (Python)
Jugement des nombres premiers par Python
Mémo de visualisation par Python
Traitement de la communication par Python
Réponse de Beamformer par python
python Paramètre japonais respectueux de l'environnement
API Web EXE par Python
Programme de formation des nouveaux arrivants par Python
Pin python géré par conda
Extraction de mots-clés par MeCab (python)
[Python] paramètre de valeur initiale numpy.empty
Séparez les nombres par 3 chiffres (python)
le paramètre d'URL de python inclut la fonction
Modèle de commutation de Markov par Python
Traitement d'image par python (Pillow)
Python lancé par des programmeurs C
Transférer les valeurs des paramètres en Python
Jugement de la plateforme (OS) par Python
Trier par date en python
[Python] Tri itérable selon plusieurs conditions
Extension du dictionnaire python par argument
[Automatisé avec python! ] Partie 1: fichier de configuration
Optimisation des paramètres de systole FX en Python
Implémentation de l'estimation des paramètres HMM en python
Résumé de l'apprentissage automatique par les débutants de Python
Apprenez Python en dessinant (Turtle Graphics)
Développement Python aidé par le test Jenkins-Unit
Générateur de nombres premiers par Python
instruction SQL python Extraire par heure
Autoriser l'accès aux attributs à Python dict
Détermination du système d'exploitation par Makefile en utilisant Python
Mémo d'automatisation de saisie par Python débutant
Mémo de configuration de l'environnement de développement Vim + Python
Mémo d'apprentissage de la planification des sections ~ par python ~
Comportement de python3 par le serveur de Sakura
100 Language Processing Knock Chapitre 1 par Python
Histoire d'approximation de puissance par Python
Tri des fichiers par convention de dénomination à l'aide de Python