[Python-de] Zeile in Datei aufsuchen
"Martin v. Löwis"
martin at v.loewis.de
Son Aug 8 12:43:44 CEST 2004
Albert Hermeling wrote:
> Gib es eine Funktion die eine bestimmt Zeile in einer Datei aufsucht?
Nein; dazu musst Du alle Zeilen lesen und die nicht benötigten
auslassen. Historisch die einfachste Lösung:
for zeile in datei.readlines()[10:]:
verarbeite(zeile)
Das lässt die ersten 10 Zeilen weg. Wenn Du auch wieder die
Nummern brauchst:
for nummer,zeile in enumerate(datei.readlines()[10:]):
nummer += 10
verarbeite(zeile)
Hier musst Du leider die Zahl der zu überspringenden Zeilen zweimal
angeben. Das kann man mit itertools.dropwhile beheben
from itertools import dropwhie
for nummer,zeile in dropwhile(lambda x:x[0]<10, enumerate(datei)):
verarbeite(zeile)
Am einfachsten ist es aber vielleicht, die ersten Zeilen explizit
zu überlesen:
for nummer,zeile in enumerate(datei):
if nummer < 10: continue
verarbeite(zeile)
There should be one-- and preferably only one --obvious way to do it.
Ciao,
Martin