Ich habe ein Python-Skript geschrieben, das eine große Anzahl von großen Textdateien verarbeitet und sehr viel ausführen kann. Manchmal muss das laufende Skript gestoppt und später fortgesetzt werden. Die möglichen Gründe, das Skript zu stoppen, sind Programmabstürze, Festplattenprobleme oder viele andere, wenn Sie es tun müssen. Ich möchte eine Art "stop / resume" -Mechanismus für das Skript implementieren.
Ich werde es implementieren mit den pickle und Signal -Modulen.
Ich werde froh sein zu hören, wie man es in pythonischer Weise macht.
Danke!
Wenn Sie große Dateien lesen möchten, verwenden Sie einfach ein Datei-Handle und lesen Sie die Zeilen einzeln nacheinander. Bearbeiten Sie dabei jede Zeile nach Bedarf. Wenn Sie die Python-Sitzung speichern möchten, verwenden Sie einfach dill.dump_session
- und es werden alle vorhandenen Objekte gespeichert. Andere Antworten schlagen fehl, da pickle
kein Datei-Handle picken kann. dill
kann jedoch fast jedes Python-Objekt serialisieren - einschließlich eines Datei-Handles.
Beendet dann die Python-Sitzung und startet neu. Wenn Sie load_session
haben, laden Sie alle Objekte, die zum Zeitpunkt des Aufrufs dump_session
vorhanden waren.
Einfach so.
Holen Sie sich dill
hier: Ссылка