Heim > Backend-Entwicklung > Python-Tutorial > pyya – Die Möglichkeit, die YAML-Konfiguration in Ihrem Python-Projekt zu verwalten

pyya – Die Möglichkeit, die YAML-Konfiguration in Ihrem Python-Projekt zu verwalten

Linda Hamilton
Freigeben: 2024-12-15 04:28:13
Original
508 Leute haben es durchsucht

pyya - The way to manage YAML config in your Python project

Stellen Sie sich vor, Sie haben eine Datei wie diese in Ihrem Projekt:

# config.yaml
database:   
    host: localhost
    port: 5432
    username: postgres
    password: postgres
Nach dem Login kopieren

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)
Nach dem Login kopieren

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)

Nach dem Login kopieren

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"})

Nach dem Login kopieren

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
Nach dem Login kopieren

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!

Quelle:dev.to
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage