Textdatei 'sicher' beschreiben

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
bfm
User
Beiträge: 78
Registriert: Donnerstag 14. März 2013, 09:42

Donnerstag 31. Juli 2014, 08:00

Hallo,

mal so eine Zwischenfrage zum Verständnis: Reicht es nicht aus, die Datei mit "with" zu öffnen? Das wird einem doch immer angeraten, weil hier die geöffnete Datei bei einer Ausnahme im Skript wieder ordnungsgemäß geschlossen wird. Und ich gehe jetzt mal davon aus, dass in einem solchen Fall die Daten, die evtl. noch im Schreibcache oder sonst wo stehen, dann noch vom Interpreter/Betriebssystem auf die Platte geschrieben werden. Oder?

Ich denke mal, zu 98% wird "nur" das Skript mit einer Ausnahme abbrechen. In den wenigstens Fällen wird der Pythoninterpreter absaufen. Und wenn das Betriebssystem dann mal abschmiert, dann ich glaub die kleine verhunzte Textdatei das kleinste Problem.

mfg
BlackJack

Donnerstag 31. Juli 2014, 08:12

@bfm: Selbst ohne ``with`` und bei einem hart abgestürzten Python-Prozess werden normalerweise vom Betriebssystem alle offenen Dateien vom Prozess ordnungsgemäss geschlossen und dabei auch Pufferinhalte rausgeschrieben. Die Datenstrukturen von Dateien, inklusive die Puffer werden ja vom Betriebssystem verwaltet und nicht vom abgestürzten Prozess. Die Pufferinhalte gehen durch einen Prozessabsturz also nicht verloren.
Sirius3
User
Beiträge: 11550
Registriert: Sonntag 21. Oktober 2012, 17:20

Donnerstag 31. Juli 2014, 08:49

@BlackJack: es ist prinzipiell schon möglich, dass Python selbst nochmal die Daten puffert und die sind bei einem Programmabsturz futsch.
Antworten