ich habe ein Programm geschrieben, welches die Meldungen aus einem Logfile bestimmten Kategorien zu ordnet.
Jetzt habe ich aber gefeststellen müssen, dass einige Meldungen übrigbleiben, die nicht wirklich in eine Kategorie passen. Diese hätte ich gerne der Kategorie 13 zu gewiesen.
Ich habe versucht, das Ganze mit if und else zu lösen, aber das funktioniert leider nicht. In der Kategorie 13 sind nun Fehler, die schon einer anderen Katrgorie zugeordnet sind.
Bitte um Hilfe !
Danke im Voraus & LG
FROSCH
Code: Alles auswählen
helplist = list()
for line in in_f:
text = line
for line in text.split('\n'):
try:
typ, nr, meldungstext = (x.strip() for x in line[1:-1].split('|'))
except ValueError:
pass
else:
if typ.isalnum() and nr.isdigit() and meldungstext:
if meldungstext.rfind("Wert in Feld 245 ist ungleich der Summe ( +210 -215 -220 -230 -240 -243 )") >= 0:
helplist.append(("1", typ, nr, meldungstext))
if meldungstext.rfind("Keine Austrittsmaßnahme zu Mitteilung 123") >= 0:
helplist.append(("3", typ, nr, meldungstext))
if meldungstext.rfind("Wert in Feld KZIEL liegt unterhalb des zulässigen Bereichs ab 0.00") > 0:
helplist.append(("9", typ, nr, meldungstext))
if meldungstext.rfind("Wert in Feld KZSTF liegt unterhalb des zulässigen Bereichs ab 0.00") > 0:
helplist.append(("10", typ, nr, meldungstext))
if meldungstext.rfind("Wert in Feld KZ341 liegt unterhalb des zulässigen Bereichs ab 0.00") > 0:
helplist.append(("11", typ, nr, meldungstext))
if meldungstext.rfind("Kein Betrag in KZ210, aber Beträge in KZ245, KZ260 verschieden von 0.00") > 0:
helplist.append(("12", typ, nr, meldungstext))
if meldungstext.rfind("Kein gültiger Wert in Feld KZ341, KZ344") >= 0:
helplist.append(("14", typ, nr, meldungstext))
else:
helplist.append(("13", typ, nr, meldungstext))
helplist.sort()
for key, group in groupby(helplist, lambda x: x[2]):
for helplist in group:
for element in helplist:
out_f.write("%s |" % element)
out_f.write("\n")