Ich habe eine Datei mit dem Namen mcelog.conf
und ich lese diese Datei in meinem Code. Inhalt der Datei istEine Zeile aus einer Datei in Python lesen
no-syslog = yes # (or no to disable)
logfile = /tmp/logfile
Programm die mcelog.conf
Datei gelesen wird und wird für den no-syslog
Tag überprüfen, ob no-syslog = yes
dann Programm für den Tag logfile
zu überprüfen hat und den logfile
Tag gelesen. Kann mir jemand mitteilen, wie ich /tmp/logfile
den Wert bekommen kann
with open('/etc/mcelog/mcelog.conf', 'r+') as fp:
for line in fp:
if re.search("no-syslog =", line) and re.search("= no", line):
memoryErrors = readLogFile("/var/log/messages")
mcelogPathFound = true
break
elif re.search("no-syslog =", line) and re.search("= yes", line):
continue
elif re.search("logfile =", line):
memoryErrors = readLogFile(line) # Here I want to pass the value "/tmp/logfile" but currently "logfile = /tmp/logfile" is getting passed
mcelogPathFound = true
break
fp.close()
Haben Sie Regex-Gruppen ausprobiert? Oder sogar auf das Gleichheitszeichen aufteilen und im Wesentlichen ein Wörterbuch von Schlüsselwerten erstellen? –
Nein, ich habe keine Regex-Gruppen ausprobiert. Wenn ich jede Zeile mit einem '=' - Zeichen aufspalte, besteht die Möglichkeit, dass, wenn einige Kommentare in der Datei vorhanden sind, eine Ausnahme auftritt. @ cricket-007 –
Warum? Sie haben beide Antworten kommentiert, die Ihnen dasselbe sagen –