Textdatei 2 mal iterieren

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Benutzeravatar
script_composer
User
Beiträge: 29
Registriert: Mittwoch 13. April 2011, 12:42

Hallo an alle,

sorry die Frage mag etwas blöd sein:

iteriere mit einer for schleife durch eine geöffnete Textdatei durch. Die schleife bricht irgendwann durch break ab. Wenn ich nun ein zweites Mal durch die Datei iterieren will, startet die Iteration an der Stelle wo die vorherige Schleife durch break beendet wurde. Wie kann ich das umgehen? Ich denke close() ginge, aber würde unnötigen Festplattenzugriff bedeuten oder?

Code: Alles auswählen

accessConf = open('sites/access.conf', 'r')
    nec_group = ''
    for lines in accessConf:
        line = lines.strip().split()
        if site == line[0]:
            nec_group = line[1]
            break
derdon
User
Beiträge: 1316
Registriert: Freitag 24. Oktober 2008, 14:32

Dateiobjekte haben eine `seek`-Methode. Du willst vermutlich 0 als Argument übergeben.
Benutzeravatar
script_composer
User
Beiträge: 29
Registriert: Mittwoch 13. April 2011, 12:42

Joa genau das suchte ich. Werde das nächste Mal direkt die offizielle Anleitung von python.org anstatt dieser komischen von galileocomputing nehmen. Die scheint mir irgendwie unvollständig!


Herzlichen Dank für die super Hilfe :)
derdon
User
Beiträge: 1316
Registriert: Freitag 24. Oktober 2008, 14:32

Bitte, gern geschehen :)

Und nimm die Finger weg vom Galileobuch, das ist miste. Siehe auch: http://bj.spline.de/python_openbook.html
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

script_composer hat geschrieben:Ich denke close() ginge, aber würde unnötigen Festplattenzugriff bedeuten oder?
Wenn zwischen den Zugriff einigermassen viel Zeit vergeht waere das aber trotzdem besser. Viele nicht-moderne OS haben da relativ wenige Filehandles fuer einen Prozess.
Dann kommt noch dazu, dass die "Optimierung" evtl schlecht lesbar, oder zumindest schlechter lesbaren Code erzeugt als wenn man die Datei nur an den richtigen Stellen oeffnet und dafuer bald wieder schliesst (siehe auch das `with`-Statement).

Und zu guter letzt: Moderne Betriebssysteme machen unglaublich viel um die Ressourcen zu schonen, Mutmassungen helfen da wenig, sondern nur Tests.
Antworten