Dadapf hat geschrieben:Zum open und file habe ich das Forum bereits hoch und runter gelesen, doch nichts nichts finden können, was explizit gegen file spricht.
Zusätzlich zum Lesen des Forums bietet sich auch immer das Lesen der Dokumentation an. Hier findest du unter
http://docs.python.org/library/functions.html#file folgenden Satz: "When opening a file, it’s preferable to use open() instead of invoking this constructor directly. file is more suited to type testing (for example, writing isinstance(f, file)).".
Das "with" verbessert die Sache dann noch in Richtung einer sinnvollen Fehlerbehandlung.
Dadapf hat geschrieben:Über Listen zu interieren ist in obigen Fall kürzer.
Es ist nicht nur kürzer, es sagt auch genau das aus was du tun möchtest (wobei die Variante von BlackJack hier natürlich angebrachter ist). Es ist nicht sinnvoll Konstrukte aus anderen Sprachen zwangsweise in Python zu verwenden wenn es doch deutlich bessere Sprachkonstrukte dafür gibt.
Man muss natürlich bereit sein, sich auf Python wirklich einzulassen. Meine ersten Python-Programme sehen jetzt im Rückblick betrachtet ziemlich grausam aus (ich war verseucht von C++ und PHP). Jetzt, wo ich einige davon im Nachinein refaktoriere merke ich erst, was für eine Effektivität und Eleganz man an manchen Stellen mit Python erreichen kann.