Bewahren Sie Schlüsselnamen für den Fall mit dem Python-Standard ConfigParser auf

Sie können INI-Dateien mit dem Standard-Konfigurationsserver der Python-Bibliothek lesen und schreiben. https://docs.python.org/ja/3/library/configparser.html

Eine INI-Datei ist ein Dateiformat, das manchmal zum Festlegen von Dateien usw. verwendet wird und aus Abschnitten, Schlüsseln und Werten besteht. https://ja.wikipedia.org/wiki/INI%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB

Standardmäßig unterscheidet configparser bei Schlüsseln nicht zwischen Groß- und Kleinschreibung.

import configparser


ini_filename = "sample.ini"
"""Inhalt der INI-Datei
[General]
Name = hogehoge
"""

parser = configparser.ConfigParser()
parser.read(ini_filename)

"""Großbuchstabe/Kleinbuchstaben/Kann unabhängig vom Mischen gelesen werden"""
assert parser["General"]["Name"] == "hogehoge", "Gemischt"
assert parser["General"]["name"] == "hogehoge", "Kleinbuchstaben"
assert parser["General"]["NAME"] == "hogehoge", "Großbuchstabe"

Dies funktioniert sowohl zum Lesen als auch zum Schreiben von INI-Dateien.

Die in der Software RawTherapee verwendete Side-Car-Datei enthält den Inhalt einer INI-Datei. Ich wollte das alles auf einmal bearbeiten, aber bei den Sidecar-Dateien von RawTherapee wird bei Schlüsselnamen zwischen Groß- und Kleinschreibung unterschieden. Wenn Sie also wie bei der ConfigParser-Klasse bearbeiten / speichern, wird der Schlüsselname nur in Kleinbuchstaben angegeben. Es gab ein Problem, dass RawTherapee nicht richtig gelesen werden konnte.

Dies kann gelöst werden, indem die entsprechende Funktion in .optionxform der ConfigParser-Instanz festgelegt wird. Der Schlüsselname zum Lesen und Schreiben ist das Ergebnis, das von der Funktion optionxform konvertiert wird.

Daher können Sie die INI-Datei unter Beibehaltung des Schlüsselnamens speichern, indem Sie "optionxform" wie folgt einstellen.

parser = configparser.ConfigParser()
parser.optionxform = str
parser.read(ini_filename)

parser["General"]["Name"] = "test"

with open(ini_filename, "w") as fp:
    parser.write(fp)

Recommended Posts

Bewahren Sie Schlüsselnamen für den Fall mit dem Python-Standard ConfigParser auf
Tastenanschlag in Python
Tastenanschlag in Python
Transmutationsmatrix im Python-Standard
Machen Sie die Standardausgabe in Python nicht blockierend
Fremdschlüssel in SQLite von Python [Hinweis]
Erstellen Sie in Python ein Diagramm der Standardnormalverteilung
So geben Sie "Ketsumaimo" standardmäßig in Python aus
Teilen Sie Kamelfallzeichenfolgen in Python Wort für Wort
Reduzieren Sie eine unregelmäßige zweidimensionale Standardliste in Python
Quadtree in Python --2
Python in der Optimierung
CURL in Python
Mein ConfigParser (Python)
Metaprogrammierung mit Python
Python 3.3 mit Anaconda
SendKeys in Python
Epoche in Python
Zwietracht in Python
Deutsch in Python
DCI in Python
Quicksort in Python
nCr in Python
N-Gramm in Python
Programmieren mit Python
Konstante in Python
FizzBuzz in Python
SQLite in Python
Schritt AIC in Python
LINE-Bot [0] in Python
CSV in Python
Reverse Assembler mit Python
Reflexion in Python
Konstante in Python
nCr in Python.
Format in Python
Scons in Python 3
Puyopuyo in Python
Python in Virtualenv
PPAP in Python
Mein ConfigParser (Python)
Quad-Tree in Python
Reflexion in Python
Chemie mit Python
Hashbar in Python
DirectLiNGAM in Python
LiNGAM in Python
In Python reduzieren
In Python flach drücken
Dinge, die Sie bei der Entwicklung von Crawlern in Python beachten sollten
Berechnung der Standardabweichung und des Korrelationskoeffizienten in Python
Schlüsseleingabe, die nicht auf Schlüsseleingabe in Python wartet
Holen Sie sich die Standardausgabe in Echtzeit mit dem Python-Unterprozess
Ausgabeprotokoll im JSON-Format mit Python-Standardprotokollierung
Berechnen Sie den Mittelwert, den Median, die häufigste Varianz und die Standardabweichung in Python
Kann bei Wettkampfprofis eingesetzt werden! Python-Standardbibliothek
[Arbeitseffizienz] So ändern Sie Dateinamen im Stapel mit Python