Ich habe eine timerbasierte Anwendung, die alle 8 Stunden eine kurze Zeile in eine Datei schreibt. Die Datei bleibt nicht für die Dauer von 8 Stunden geöffnet, ich öffne sie einfach, schreibe und schließe sie. Wenn es hilft, öffne ich die Datei nur zum Schreiben, nicht anhängen, so dass die vorherigen Daten darin nicht gespeichert werden müssen.Verhindern, dass Anwendung geschlossen wird, wenn eine Datei in Python geöffnet ist
Was passiert, wenn der Benutzer die Anwendung über den Task-Manager schließt, während die Datei zum Schreiben geöffnet ist? Kann ich den Dateischreibvorgang atomar machen? Oder kann ich zumindest verhindern, dass die Anwendung geschlossen wird, wenn die Datei geöffnet ist?
Sie können dies tun: 1) erstellen Sie eine andere Datei, 2) benennen Sie diese andere Datei in die Datei, die Sie überschreiben müssen. Umbenennen ist eine atomare Operation. – Ilya
Wenn der Prozess kurz vor dem Umbenennen beendet wird, würde das nicht eine andere unnötige Datei im Verzeichnis hinterlassen? – devil0150
@ devil0150 Ja, aber wenn die Anwendung erneut geöffnet wird, könnte es eine Überprüfung geben, um die Datei beim Start zu entfernen. Was das Aufgeben einer unnötigen Datei betrifft, wird das passieren. – techydesigner