Beschreibt das Festlegen von Parametern mit configparser, einer Standardbibliothek von Python, und das Verwenden von Einstellungsparametern.
git : k-washi
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
Lesen Sie die Datei config.ini und die Einstellungen. Informationen zum Logger finden Sie unter Verwendung des Python-Protokollierungsmoduls.
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))
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
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