
Hallo,
gibt es eigentlich einen prinzipiellen Unterschied zwischen:
(a) for zeile in open(datei): tu_was()
und:
(b) with open(datei) as f: for zeile in f: tu_was()
Ist eine der beiden Möglichkeiten schneller, besser, schöner? Wenn ja, warum?
Schöne Grüße, Matthias

Matthias Huening wrote at Mon, 21 Sep 2009 08:40:04 +0200:
gibt es eigentlich einen prinzipiellen Unterschied zwischen:
(a) for zeile in open(datei): tu_was()
und:
(b) with open(datei) as f: for zeile in f: tu_was()
Ist eine der beiden Möglichkeiten schneller, besser, schöner? Wenn ja, warum?
Variante (b) ist besser, da das File am beim Verlassen des `with` Blocks automatisch geschlossen wird.
In vielen Fällen macht es keinen Unterschied, aber mit Variante (b) musst Du Dir nicht den Kopf zerbrechen, ob es in Deiner Anwendung doch einen macht...
-- Christian Tanzer http://www.c-tanzer.at/

http://docs.python.org/library/stdtypes.html
-> File Objects.
Andreas
On 21.09.09 08:40, Matthias Huening wrote:
Hallo,
gibt es eigentlich einen prinzipiellen Unterschied zwischen:
(a) for zeile in open(datei): tu_was()
und:
(b) with open(datei) as f: for zeile in f: tu_was()
Ist eine der beiden Möglichkeiten schneller, besser, schöner? Wenn ja, warum?
Schöne Grüße, Matthias
python-de maillist - python-de@python.net http://python.net/mailman/listinfo/python-de

Hallo Matthias,
Matthias Huening schrieb:
gibt es eigentlich einen prinzipiellen Unterschied zwischen:
(a) for zeile in open(datei): tu_was()
und:
(b) with open(datei) as f: for zeile in f: tu_was()
Ist eine der beiden Möglichkeiten schneller, besser, schöner? Wenn ja, warum?
ich weiß nicht, ob du des Englischen mächtig bist, aber zu diesem Themenkomplex gab es vor kurzem einen Thread auf der internatianalen Pythonmailingliste:
Chris
participants (4)
-
Andreas Jung
-
Christian Tanzer
-
Christopher Arndt
-
Matthias Huening