it:programmiersprache:python:konzept:konfiguration

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
it:programmiersprache:python:konzept:konfiguration [23.08.2025 08:36] – gelöscht - Externe Bearbeitung (Unbekanntes Datum) 127.0.0.1it:programmiersprache:python:konzept:konfiguration [23.08.2025 08:36] (aktuell) – ↷ Seite von it:python:konzept:konfiguration nach it:programmiersprache:python:konzept:konfiguration verschoben marsch
Zeile 1: Zeile 1:
 +====== Konfiguration ======
 +
 +Anwendungsprogramme, besonders wenn sie eine gewisse Größe erreichen, benötigen oftmals eine Konfiguration. Manche Konfiguration ist von globaler Bedeutung und manche Konfiguration nur von lokale Bedeutung (z.B. innerhalb eines <wrap :en>Plug-Ins</wrap>).
 +
 +Dabei stellen sich oft die Frage, wie geht man mit den Konfigurationsdaten um?
 +
 +  * Schreibt/Liest man diese "am Stück" zum Programm-Start oder -Ende?\\ Das bedeutet, das Haupt-Programm Schreibt/Liest Konfigurationsdaten von sich selbst und seinen <wrap :en>Plug-Ins</wrap>. => Welche Daten geben die <wrap :en>Plug-Ins</wrap> in Auftrag?
 +  * Schreibt jede kleine Einheit ihre eigenen Daten?
 +  * Wo und in welcher Weise werden Konfigurationsdaten geschrieben/gelesen und Programmintern zur Verfügung gestellt?
 +  * Wie steht es um Konfigurationsdaten, für die Voreinstellungen hinterlegt werden müssen, wenn eine solche Konfiguration noch gar nicht existiert?
 +
 +
 +===== Das Wie und Wo =====
 +
 +Denkbar wäre, dass ...
 +
 +  * Daten in einem Python-Modul stehen, welches zu Programmbeginn gelesen wird. Schreiben von Änderungen ist schwerlich möglich.
 +  * Schreiben und Lesen einer INI-Datei ist prinzipiell möglich. Jedoch muss man genau wissen welche Werte zu schreiben/lesen sind. Eine schwierige Situation, wenn ein Haupt-Programm die Daten seiner <wrap :en>Plug-Ins</wrap> schreiben/lesen muss.
 +  * Aufbau einer Datenstruktur, in die sich auch <wrap :en>Plug-Ins</wrap> "einklinken" können. Die Gesamtstruktur wird in einer JSON-Datei ([[https://docs.python.org/3/library/json.html|JSON]]) gespeichert bzw. von ihr gelesen. Die geschriebene Datei wäre vom Benutzer lesbar und könnte auch verändert werden.
 +  * Aufbau einer Datenstruktur, in die sich auch <wrap :en>Plug-Ins</wrap> "einklinken" können. Die Gesamtstruktur wird in einer YAML-Datei ([[:start|YAML]]) gespeichert bzw. von ihr gelesen. Die geschriebene Datei wäre vom Benutzer lesbar und könnte auch verändert werden.
 +  * Aufbau einer Datenstruktur, in die sich auch <wrap :en>Plug-Ins</wrap> "einklinken" können. Die Gesamtstruktur wird in einer pickle-Datei gespeichert bzw. von ihr gelesen. Die geschriebene Datei wäre vom Benutzer nicht mehr lesbar, da sie binär ist.
 +  * Schreiben und Lesen der Konfigurationsdaten aus einer Datenbank.
 +
 +{{tag>Python Konzept}}