Heim >Backend-Entwicklung >Python-Tutorial >pyya – Die Möglichkeit, die YAML-Konfiguration in Ihrem Python-Projekt zu verwalten
Stellen Sie sich vor, Sie haben eine Datei wie diese in Ihrem Projekt:
# config.yaml database: host: localhost port: 5432 username: postgres password: postgres
Um diese Dot-Yaml-Konfigurationsdatei in Python zu analysieren, gehen Sie normalerweise wie folgt vor:
import yaml # pip install PyYAML with open("config.yaml", encoding='utf-8') as fstream: config_yaml = yaml.safe_load(fstream)
Um Javascript-ähnliche Objekte aus dem resultierenden Wörterbuch zu erstellen, fügen Sie wahrscheinlich Folgendes hinzu:
from munch import munchify # pip install munch config = munchify(config_yaml)
Pyya macht das automatisch mit einer Funktion:
from pyya import init_config config = init_config( 'config.yaml', 'default.config.yaml', merge_configs = False, convert_keys_to_snake_case = False, add_underscore_prefix_to_keywords = False raise_error_non_identifiers = False) print(config.database) # Output: # Munch({"host": "localhost", "port": 5432, "username": "postgres", "password": "postgres"})
Was ist mit all diesen Flaggen?
merge_configs vergleicht bei Einstellung „True“ config.yaml mit default.config.yaml (oder den von Ihnen angegebenen Namen oder Pfaden) und fügt dem ersteren alle Felder hinzu, die im letzteren nicht vorhanden sind. Wenn es auf „Falsch“ gesetzt ist, werden alle Zusammenführungen und Formatierungen deaktiviert, die von den übrigen Flags durchgeführt werden.
convert_keys_to_snake_case ist einigermaßen selbsterklärend, weil es Konfigurationsschlüssel einfach pythonisch aussehen lässt. Dieses Flag kann jedoch einige Einstellungen wie die Protokollierungskonfiguration beeinträchtigen.
add_underscore_prefix_to_keywords Wenn der Konfigurationsschlüssel auch ein Python-Schlüsselwort ist, wird davor ein Unterstrich eingefügt (class wird zu _class). Dadurch kann der Attributzugriff besser funktionieren.
raise_error_non_identifiers Wenn der Konfigurationsschlüssel auch ein ungültiger Python-Identifikator ist, wird ein Fehler ausgelöst.
Sie können Pyya wie folgt installieren:
pip install pyya
Beiträge und Vorschläge sind willkommen: https://github.com/shadowy-pycoder/pyya
Das obige ist der detaillierte Inhalt vonpyya – Die Möglichkeit, die YAML-Konfiguration in Ihrem Python-Projekt zu verwalten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!