Parametereinstellung durch Python Configparser

Beschreibt das Festlegen von Parametern mit configparser, einer Standardbibliothek von Python, und das Verwenden von Einstellungsparametern.

git : k-washi

Ini-Datei

Dies ist eine Datei, die die Einstellungen beschreibt, die von configparser gelesen werden sollen. Als Beispiel kann es wie folgt beschrieben werden. Kommentare können mit # geschrieben werden.

config.ini


[Microphone]
#Mikes Ausweis
ID = 0
SamplingRate = 44100

[Output]
#Geräte-ID ausgeben
ID = 1
#Record 1:Ausgabe an SavePath, 0:Fahren Sie mit der Ausgabe auf dem ID-Gerät fort.
Record = 1
#recording time [sec] >= 1
RecordTime = 15

Einstellungsdatei lesen

Lesen Sie die Datei config.ini und die Einstellungen. Informationen zum Logger finden Sie unter Verwendung des Python-Protokollierungsmoduls.

  1. Wenn eine Einstellungsdatei vorhanden ist, lesen Sie die Einstellungsdatei mit config_ini.read ().
  2. Lesen Sie den Einstellwert mit config_ini ["Einstellungsklassifizierung"] ["Einstellwertname"].

Da der Wert für die Leseeinstellung Zeichenfolge ist, konvertieren Sie die Zahl mit int, float usw. Außerdem können die in 0 und 1 festgelegten Ja / Nein-Werte in True und False konvertiert werden, indem sie auf bool gesetzt werden.

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('Es gibt keine Konfigurationsdatei')
      exit(-1)
    config_ini.read(CONFIG_FILE_PATH, encoding='utf-8')
    logging.info('----Einstellung starten----')
    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))

Verwenden Sie den eingestellten Wert

  1. Importieren Sie die Einstellungsklasse configInit aus der Einstellungslesedatei.
  2. Instanziieren Sie mit Conf = configInit () und laden Sie die Konfigurationsdatei.
  3. Conf. Kann mit dem eingestellten Wertnamen verwendet werden
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     ----Einstellung starten----
#2020-01-15 17:12:03,930 [confTest.py:15] INFO     0                 #MicID

Zusammenfassung

Das ist alles über die Python-Konfigurationsdatei. Beim Erstellen eines Systems wird empfohlen, es so einfach wie oben festzulegen, da weniger Änderungen vorgenommen werden, wenn später versucht wird, externe Einstellungen vorzunehmen.

Recommended Posts

Parametereinstellung durch Python Configparser
Mein ConfigParser (Python)
Primzahlbeurteilung durch Python
Visualisierungsnotiz von Python
Kommunikationsverarbeitung durch Python
Beamformer-Antwort von Python
Python Umweltfreundliche japanische Umgebung
EXE Web API von Python
Newcomer Trainingsprogramm von Python
Pin Python von Conda verwaltet
Keyword-Extraktion mit MeCab (Python)
[Python] numpy.empty Anfangswerteinstellung
Zahlen durch 3 Ziffern trennen (Python)
Python-URL-Einstellung enthalten Funktion
Markov-Schaltmodell von Python
Bildverarbeitung mit Python (Pillow)
Python wurde von C-Programmierern gestartet
Übertragen Sie Parameterwerte in Python
Plattform (OS) Beurteilung durch Python
Sortieren nach Datum in Python
[Python] Sortierbar nach mehreren Bedingungen sortieren
Erweiterung des Python-Wörterbuchs um Argumente
[Mit Python automatisiert! ] Teil 1: Datei einstellen
Optimierung der FX-Systolenparameter in Python
Implementierung der HMM-Parameterschätzung in Python
Zusammenfassung des maschinellen Lernens von Python-Anfängern
Lerne Python durch Zeichnen (Turtle Graphics)
Python-Entwicklung unterstützt durch Jenkins-Unit-Test
Primzahlgenerator von Python
Python SQL-Anweisung Nach Zeit extrahieren
Attributzugriff auf Python dict zulassen
Betriebssystembestimmung durch Makefile mit Python
Typisierungsautomatisierungsnotiz von Python-Anfängern
Memo zum Einstellen der Vim + Python-Entwicklungsumgebung
Abschnittsplanung Lernnotiz ~ von Python ~
Verhalten von Python3 durch Sakuras Server
100 Sprachverarbeitung Knock Kapitel 1 von Python
Geschichte der Potenznäherung von Python
Sortieren von Dateien nach Namenskonvention mit Python