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.1 | it:programmiersprache:python:konzept:konfiguration [23.08.2025 08:36] (aktuell) – ↷ Seite von it:python:konzept:konfiguration nach it:programmiersprache:python:konzept:konfiguration verschoben marsch |
---|
| ====== 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}} |
| |