Python Endlosschleife Dateieerstellung

Andi1

Newbie
Registriert
Dez. 2023
Beiträge
2
Hallo liebe Community,

was passiert eigentlich, wenn man in Python aus Versehen eine Endlosschleife programmiert, die immer neue Dateien erstellt? Gibt es da irgendeinen Schutz dass das irgendwann gestoppt wird oder so, weil sonst wäre ja die Festplatte innerhalb weniger Sekunden voll und das Löschen der Dateien extrem aufwendig. Ich als Anfänger trau mir sonst nicht recht was mit Dateiverarbeitung programmieren, weil es könnte mir ja unabsichtlich passieren dass ich eine Endlosschleife mache.
 
Die maximale Dateigröße auf Windows ist genau 18,446,744,073,709,550,592 Bytes. Vorher wird aber Deine existierende Platte voll sein und das Programm wird hängenbleiben. Dateien löschen ist nicht "extrem aufwändig". Wenn Du Deine Platte vollschreibst, wird irgendwann Windows abstürzen, weil es keine Systemprozesse mehr starten kann. Aber wirklich "passieren" kann am Ende nicht viel. Zumal Du realistischerweise maximal mit 100MB/Sekunde auf die Platte schreiben kannst - da kannst Du ausrechnen, wie lange es dauert, bis Deine Platte voll ist.
 
Mit etwas Glück steigt das Programm vorher aus (max. gleichzeitig geöffnete Dateien oä Limits). Aber ja kann passieren. Ja ist dann blöd. Kannst ja ein Python Programm schreiben das dir die Dateien löscht
 
also aus Fehlern lernt man ja .. je nach Rechner kannst Du ja einfach auch mal Python in einer VirtualBox mit einem Linux Mint / Ubuntu oder ähnlichem Testen .. da geht dann nur die virtualle Maschine kaputt.

Ansonsten kannst Du ja auch einen USB Stick beschreiben .. da kann ja dann auch nichts passieren.... dann steigt das Programm eben früher aus .. aber Dein Windows tut's immer noch
 
  • Gefällt mir
Reaktionen: kieleich
Man kann "gefährliche" Sachen auch auf einem eigenen Laufwerk oder gleich, in einer VM, testen

Beliebt ist auch eine Option für "pretend" oder "dry run" wo man dan die Programm Logik testen kann ohne tastächlich Dateien Schreibzugriffe zu erzeugen, Endlos schleifen würden hier auch auffallen.

Ist nur mehr arbeit das zu programmieren
 
blöderidiot schrieb:
Die maximale Dateigröße
Ist in Szenario von TE irrelevant, da es um die Anzahl der Dateien ging, nicht ihre Größe.

@Andi1 mit der Tastenkombination Steg + a markiert man alle Dateien in einem Ordner. Bzw. mit del * in der Kommandozeile müssten alle Dateien gelöscht werden.

Aber ja, das Python script schreibt dann alles voll. Ein Programmierer darf alles machen, er muss aufpassen, keinen Müll zu schreiben. Wenn eine Sprache sowas abfangen wollte, müsste sie ja erahnen können, ob die Endlosschleife vielleicht gewollt ist? Ist gibt Möglichkeiten, gewollt eine while(true) Schleife zu nutzen und die dann mit break zu verlassen. Kein guter Stil aber manchmal notwendig.
 
Zurück
Oben