ich eine Log-Datei haben, ist diese Datei wie folgt aus:Spiel Zeichen in einer Zeile und drucken Sie die Zeile vor Python
line1 Eingang
line2 Ausgang
line3 Eingang
line4 Ausgabe
und so weiter ...
Basierend auf dem Ausgang I Ein- und Ausgabe in eine neue Datei extrahieren .. Ich möchte verwendet
Als Beispielcode Druck und die Methode .startswith, und das ist für mich in Ordnung, weil ich nur daran interessiert bin Wie kann ich die aktuelle Zeile in eine Datei und die Zeile davor ziehen.
Hier ist, wie ich getan habe:
file = 'path_to_file'
index_list = []
line_list = []
with open(file) as f:
for index, line in enumerate(f):
line_list.append(line)
if line.startswith('b'):
index_list.append(index)
for index in index_list:
print line_list[index-1], line_list[index]
Dieser Code funktioniert gut, aber ich fragte mich, ob es eine pythonic Art und Weise, es zu tun, spart Speicher.
Vielen Dank im Voraus.
BR
Eine große Protokolldatei kann nicht nur die REPL verlangsamen, sondern auch jedes Programm, das die gesamte Datei in den Speicher liest. Selbst die gesamte Systemleistung könnte leiden, wenn der Prozess zu tauschen beginnt. – BlackJack