Python (& PHP) - Modul "lsini"
Dieses Modul fuer die Programmiersprache Python (seit Juni 2018 auch für PHP verfügbar) stellt einige Funktionen zur Verfuegung, mit denen gezielt Werte aus Konfigurationsdateien gelesen werden koennen. Auch das Veraendern vorhandener Werte sowie das Hinzufuegen neuer Schluessel-Wert Paare wird bereit gestellt.
Unterstuetzt werden das Ini-Format und das conf-Format. Es ist aber zu beachten, dass es vor allem fuer das Ini-Format keine standardisierte Spezifikation gibt.
lsini handhabt beispielsweise die Kommentarzeichen Semikolon und Raute (; und #) so, dass sie nur am Zeilenanfang wirken. Damit koennen sie problemlos in Werten Verwendung finden.
Man kann sich vielleicht fragen, warum ich dieses Modul geschrieben habe. Es gibt ja bereits das Modul ConfigParser, welches mit Python mitgeliefert wird. Allerdings vereinfacht
lsini die Arbeit erheblich, wenn man nur einzelne Werte aus einer Konfigurationsdatei einlesen will. Hier benoetigt man mit ConfigParser mindestens drei Zeilen Quelltext wo mein Modul nur eine Zeile benoetigt.
Will man jedoch ganze Konfigurationsdateien schreiben und nicht nur einzelne Werte, so ist ConfigParser natuerlich deutlich effizienter.
Die Funktionen von
lsini:
-
lsini.read(Datei, Sektion, Schluessel)Gibt den angeforderten Wert zurueck
-
lsini.write(Datei, Sektion, Schluessel, Wert)Schreibt den angegebenen Wert in die angegebene Datei. Das Schluessel-Wert Paar veraendert, wenn bereits vorhanden oder neu angelegt, wenn in der Konfigurationsdatei noch nicht vorhanden.
-
lsini.readSection(Datei, Sektion)Gibt ein
Dictionary zurueck, das die Schluessel der angegebenen Sektion mit den zugehoerigen Werten enthaelt.
-
lsini.readFile(Datei)Gibt ein
Dictionary zurueck, das alle in der Datei gefundenen Schluessel mit ihren Werten enthaelt. Schluessel, die unterhalb einer Sektion gefunden wurden, bekommen dabei den Sektionsnamen eingeschloseen in Ausrufezeichen vorangestellt
(Bsp.: !Sektion!Schluessel).
Ausserdem enhaelt der Eintrag "lsini_readSections" eine
Liste, in der alle gefundenen Sektionen benannt sind. (Sollte der Schluessel "lsini_readSections") in der Konfigurationsdatei vorkommen, ueberschreibt dessen Wert diese Liste.)
-
lsini.delete(Datei, Sektion, Schluessel)Loescht die Zeile aus der Datei, die den angegebenen Schluessel enthaelt.
-
lsini.deleteSection(Datei, Sektion)Loescht die komplette angegebene Sektion.
(Um die Funktionen in einem eigenen Python-Programm zu nutzen, muss man die Datei lsini.py im Programmverzeichnis ablegen oder im System installieren. Durch die Zeile
import lsini werden dann die Funktionen wie oben angegeben aufrufbar.)
lsini darf frei verwendet und verbreitet werden.
Das Python-Modul
lsini kann hier heruntergeladen werden: [
lsini (Version 2021-01-31)] (27 mal heruntergeladen seit November 2015)
Die PHP-Version des Moduls kann hier heruntergeladen werden: [
lsini-php (Version 2021-01-31)] (28 mal heruntergeladen seit November 2015)
(Im Kopf der Python- bzw. PHP-Datei ist die Verwendung des Moduls nochmal erklaert.)