Ich muss eine Konfigurationsdatei durch Python bearbeiten und ich habe versucht, auf Stackoverflow und Google zu suchen und sie decken meine Situation nicht ab, da ich Zeilen in der Datei ersetzen und Übereinstimmungen in meiner Suche durchführen muss.
Auch, was ich gefunden deckt, wie es für eine Zeile zu tun, werde ich mindestens 8 Zeile Ersetzungen in der Datei durchführen, und ich möchte wissen, ob es eine sauberere und elegantere Art und Weise, dies zu tun, als 10 ersetzen (foo, bar) Zeilen insgesamt setzen.
Ich muss Zeilen wie "ENABLEPRINTER", "PRINTERLIST", "PRNT1.PORT" "abgleichen". Ich möchte diese Texte abgleichen und alles, was darauf folgt, ignorieren (z. B. "=PRNT1, PRNT2").
Ich würde also etwas tun wie
replace('ENABLEPRINTER', 'y')
replace('PRINTERLIST', 'PRNT3)
Die Datei sieht wie folgt aus:
ENABLEPRINTER=n
PRINTERLIST=PRNT1, PRNT2
PRNT1.PORT=9600
PRNT1.BITS=8
Beachten Sie auch, dass diese Dateien etwa 100 Zeilen umfassen und ich etwa 10 von ihnen bearbeiten muss.
Herzlichen Dank für Ihre Hilfe.
UPDATE :
Wenn ich den von @J.F. Sebastian geposteten Code verwende, erhalte ich jetzt den folgenden Fehler:
configobj.ParseError: Parse error in value at line 611.
Zeile 611 der Datei lautet:
log4j.appender.dailyRollingFile.DatePattern='.'yyyy-MM-d
Das Problem liegt also in dem Zeichen '.
Wenn ich diese Zeile auskommentiere, funktioniert das Skript mit dem von @J.F. Sebastian geposteten Code einwandfrei.