Lesen und schreiben die INI-Datei in Python
Eine INI
-Datei ist eine Konfigurationsdatei für Computersoftware.
Es enthält Schlüssel-Wert-Paare, die Eigenschaften und ihre Werte darstellen. Diese Schlüssel-Wert-Paare sind in Abschnitten organisiert.
Eine INI
-Datei hat die Erweiterung .ini
. Eine INI
-Datei wird von Microsoft Windows und Microsoft Windows-basierten Anwendungen verwendet, und die Software verwendet INI
-Dateien, um ihre Konfiguration zu speichern.
Python ist eine robuste und vielseitige Programmiersprache, die Desktop-Anwendungen erstellen kann. Da Desktop-Anwendungen Microsoft Windows-basierte Anwendungen und Software umfassen, sollten Python-Entwickler INI
-Dateien verwenden, um Konfigurationen zu speichern und sie bei Bedarf zu lesen.
In diesem Artikel lernen Sie, wie man INI
-Dateien mit Python liest und schreibt.
Lesen und schreiben die INI
-Datei in Python
Um INI
-Dateien zu lesen und zu schreiben, können wir das Modul configparser
verwenden. Dieses Modul ist Teil der Standardbibliothek von Python und dient der Verwaltung von INI
-Dateien, die in Microsoft Windows zu finden sind.
Dieses Modul hat eine Klasse ConfigParser
, die alle Dienstprogramme enthält, um mit INI
-Dateien herumzuspielen. Wir können dieses Modul für unseren Anwendungsfall verwenden.
Lassen Sie uns die Verwendung dieser Bibliothek anhand eines einfachen Beispiels verstehen. Siehe dazu den folgenden Python-Code.
import configparser
filename = "file.ini"
# Writing Data
config = configparser.ConfigParser()
config.read(filename)
try:
config.add_section("SETTINGS")
except configparser.DuplicateSectionError:
pass
config.set("SETTINGS", "time", "utc")
config.set("SETTINGS", "time_format", "24h")
config.set("SETTINGS", "language", "english")
config.set("SETTINGS", "testing", "false")
config.set("SETTINGS", "production", "true")
with open(filename, "w") as config_file:
config.write(config_file)
# Reading Data
config.read(filename)
keys = ["time", "time_format", "language", "testing", "production"]
for key in keys:
try:
value = config.get("SETTINGS", key)
print(f"{key}:", value)
except configparser.NoOptionError:
print(f"No option '{key}' in section 'SETTINGS'")
Ausgabe:
time: utc
time_format: 24h
language: english
testing: false
production: true
Erläuterung des Python-Codes
Das Python-Skript erstellt zunächst ein Objekt der Klasse ConfigParser
und liest die durch filename
angegebene INI
-Datei. Es treten keine Probleme auf, wenn die Datei im angegebenen Pfad nicht vorhanden ist.
try:
config.add_section("SETTINGS")
except configparser.DuplicateSectionError:
pass
Als nächstes versucht es, mit der Methode add_section()
einen SETTINGS
-Abschnitt in der INI
-Datei zu erstellen.
Die Methode add_section()
löst eine Ausnahme configparser.DuplicateSectionError
aus, wenn der Abschnitt bereits in der Datei INI
existiert. Deshalb ist der Funktionsaufruf von try
- und except
-Blöcken umgeben.
config.set("SETTINGS", "time", "utc")
config.set("SETTINGS", "time_format", "24h")
config.set("SETTINGS", "language", "english")
config.set("SETTINGS", "testing", "false")
config.set("SETTINGS", "production", "true")
Als nächstes schreiben wir mit der Funktion set()
Daten in die INI
-Datei.
Die Funktion set()
verlangt drei Argumente, nämlich section
, option
und value
. Das bedeutet, dass ein Schlüssel-Wert-Paar unter dem section
hinzugefügt wird, wobei der Schlüssel die option
und der Wert der value
ist.
Das obige Python-Skript fügt 5
solcher Paare hinzu.
with open(filename, "w") as config_file:
config.write(config_file)
Als nächstes wird die Datei INI
geöffnet, mit der Methode write()
der Bibliothek configparser
mit Daten beschrieben und schliesslich gespeichert.
config.read(filename)
keys = ["time", "time_format", "language", "testing", "production"]
for key in keys:
try:
value = config.get("SETTINGS", key)
print(f"{key}:", value)
except configparser.NoOptionError:
print(f"No option '{key}' in section 'SETTINGS'")
Das Python-Skript liest erneut die INI
-Datei, um den Inhalt der INI
-Datei zu lesen, und ruft mit der get()
-Methode alle geschriebenen Informationen ab. Die Methode get()
akzeptiert zwei Parameter: section
und option
.
Es findet die option
unter dem section
. Die Methode get()
löst eine NoOptionError
-Ausnahme aus, wenn sie die angegebene Option im angegebenen Abschnitt nicht finden kann.
Um also Laufzeitausnahmen zu vermeiden, sind der Methodenaufruf get()
und die Anweisung print()
in den Block try...except
eingeschlossen.
Verwandter Artikel - Python File
- So erhalten Sie alle Dateien eines Verzeichnisses
- Wie man in Python Text an eine Datei anhängt
- Wie man prüft, ob eine Datei in Python existiert
- Wie man Dateien mit einer bestimmten Endung nur in Python findet
- Wie man bestimmte Zeilen aus einer Datei in Python liest
- Dateiberechtigungen in Python ändern