Ach. Aber bei einer Endlosrekursion meckern...das sind auch einige tausend Tage.BlackJack hat geschrieben:@nordlocke: Das `max_retry` kann man auf die maximale Zahl der Wiederholungen setzen, bevor der `IOError` an den Aufrufer der Funktion weiter gegeben wird. Wenn `max_retry` ein "falscher" Wert ist, also zum Beispiel `None`, dann wird endlos wiederholt. Nicht ganz, weil `itertools.count()` "nur" `sys.maxint` Zahlen liefert, aber das sind bei 5 Minuten warten zwischen den Versuchen selbst auf einem 32-Bit-System etwas mehr als 20000 Jahre. Was man schon irgendwie als "endlos" bezeichnen kann.
Timer und loop
Das kommt darauf an wie oft so ein IOError vorkommt. Wenn der `IOError` permanent kommt sind das bloss ca. 3½ Tage.
Man sollte sich diese rekursiven "Schleifen" besser gar nicht erst angewöhnen, wenn bei 1000 Aufrufen schon Schluss ist. Diese Grenze trifft man dann unter Umständen recht schnell.
Man sollte sich diese rekursiven "Schleifen" besser gar nicht erst angewöhnen, wenn bei 1000 Aufrufen schon Schluss ist. Diese Grenze trifft man dann unter Umständen recht schnell.
Das ist ne menge Zeit
Ich habe auch nichts spezielles zur Datei gefunden, weiß auch gar nicht ob Windows das erkennt, leider läuft das Programm nämlich auf einer Windowskiste, daher habe lasse ich nun in eine Temporäredatei schreiben und wenn das fertig ist speichere ich es erst richtig weg.
Danke für die ganzen Tips und ein schönes Wochenende.
Ich habe auch nichts spezielles zur Datei gefunden, weiß auch gar nicht ob Windows das erkennt, leider läuft das Programm nämlich auf einer Windowskiste, daher habe lasse ich nun in eine Temporäredatei schreiben und wenn das fertig ist speichere ich es erst richtig weg.
Danke für die ganzen Tips und ein schönes Wochenende.