Seite 1 von 1

Endlosschleife wird nur einmal ausgeführt!

Verfasst: Dienstag 7. März 2006, 22:58
von Python 47
Hi Leuts,

hab eine ganz simple Frage:

Hab mir folgendes Programm erstellt:

Code: Alles auswählen

def hello():
   while True:
      f=open('Hello.dat', 'w')
      f.write('Hello!')
      f.close()
hello()
Ich will eine Datei erstellen, in der immer wieder Hello! reingeschrieben wird, aber die Schleife wird nur einmal ausgeführt!Warum?

Danke!

Verfasst: Dienstag 7. März 2006, 23:37
von walkingshadow
Hi!
Wi kommst du darauf dass die Schleife nur einmal ausgeführt wird?
Die Schleife wird nur einmal ausgeführt wenn sie beim erstem Mal einem Fehler begegnet, sonst wird sie endlos die Datei öffnen, alles darin löschen, "Hello!" reinschreiben und sie schliessen. Du solltest nachschauen ob die Rechte im aktuellen Verzeichnis dir das Schreiben erlauben und eventuelle Fehlermeldungen mitliefern. Wenn du glaubst dass die Schleife nur einmal durchlaufen wird weil nur einmal "Hello!" in der Datei steht, dann sei beruhigt, dies ist normal, wenn du die Datei mit "w" öffnest wird der Inhalt gelöscht. Um neue Linien hinzuzufügen solltest du die datei mit "a" öffnen.

Verfasst: Dienstag 7. März 2006, 23:37
von ryu
Die Endlosschleife wird endlos ausgeführt, nur du überschreibst du Datei immer wieder, so dass im Endeffekt der Text nur einmal erscheint.

Verfasst: Mittwoch 8. März 2006, 16:06
von Python 47
Achso, danke das hab ich noch gar nicht gewusst, das der Text immer wieder gelöscht wird!Ich probier es mal mit a aus!

Danke für die Tipps!