Mir ist es egal , ob es JSON
, pickle
, YAML
, oder was auch immer.
Alle anderen Implementierungen, die ich gesehen habe, sind nicht vorwärtskompatibel. Wenn ich also eine Konfigurationsdatei habe, einen neuen Schlüssel in den Code einfügen und diese Konfigurationsdatei laden, stürzt sie einfach ab.
Gibt es eine einfache Möglichkeit, dies zu tun?
.ini
ähnlichen Formats desconfigparser
Moduls sollte das tun, was Sie wollen.Antworten:
Konfigurationsdateien in Python
Abhängig vom erforderlichen Dateiformat gibt es verschiedene Möglichkeiten, dies zu tun.
ConfigParser [INI-Format]
Ich würde den Standard- Configparser- Ansatz verwenden, es sei denn, es gibt zwingende Gründe, ein anderes Format zu verwenden.
Schreiben Sie eine Datei wie folgt:
Das Dateiformat ist sehr einfach mit Abschnitten in eckigen Klammern:
Werte können wie folgt aus der Datei extrahiert werden:
JSON [.json-Format]
JSON-Daten können sehr komplex sein und haben den Vorteil, dass sie sehr portabel sind.
Daten in eine Datei schreiben:
Daten aus einer Datei lesen:
YAML
In dieser Antwort finden Sie ein grundlegendes YAML-Beispiel . Weitere Details finden Sie auf der pyYAML-Website .
quelle
from configparser import ConfigParser
config = ConfigParser()
ConfigParser Basic Beispiel
Die Datei kann wie folgt geladen und verwendet werden:
welche Ausgänge
Wie Sie sehen, können Sie ein Standarddatenformat verwenden, das leicht zu lesen und zu schreiben ist. Mit Methoden wie getboolean und getint können Sie den Datentyp anstelle einer einfachen Zeichenfolge abrufen.
Konfiguration schreiben
führt zu
XML Basic Beispiel
Scheint von der Python-Community überhaupt nicht für Konfigurationsdateien verwendet zu werden. Das Parsen / Schreiben von XML ist jedoch einfach und es gibt viele Möglichkeiten, dies mit Python zu tun. Eines ist BeautifulSoup:
wo die config.xml so aussehen könnte
quelle
Wenn Sie so etwas wie eine INI-Datei zum Speichern von Einstellungen verwenden möchten, sollten Sie den Konfigurationsserver verwenden, der Schlüsselwertpaare aus einer Textdatei lädt und problemlos in die Datei zurückschreiben kann.
INI-Datei hat das Format:
quelle
Speichern und laden Sie ein Wörterbuch. Sie haben beliebige Schlüssel, Werte und eine beliebige Anzahl von Schlüssel- und Wertepaaren.
quelle
Versuchen Sie es mit ReadSettings :
quelle
Versuchen Sie es mit cfg4py :
HAFTUNGSAUSSCHLUSS: Ich bin der Autor dieses Moduls
quelle