我偶爾會遇到需要很長時間才能運行的Python程序,並且希望能夠保存狀態並稍後恢復。有沒有人有一個聰明的方式來保存狀態每x秒,或當程序退出?保存程序的狀態以允許它恢復
7
A
回答
6
將所有「州」數據放在一個地方,並使用pickle。
pickle模塊爲Python對象結構的序列化和反序列化實現了一個基本但強大的算法。 「Pickling」是將Python對象層次結構轉換爲字節流的過程,「unpickling」是相反的操作,即字節流轉換回對象層次結構。酸洗(和取消)也稱爲「序列化」,「編組」,或者「扁平」,但是,爲了避免混淆,這裏使用的術語是「酸洗」和「不沾」。
3
如果要保存所有內容,包括當前正在執行的整個名稱空間和代碼行以便隨時重新啓動,則沒有標準庫模塊可以執行此操作。
正如另一張海報所說,泡菜模塊可以將幾乎所有東西都保存到一個文件中,然後重新加載,但是您必須在泡菜模塊周圍專門設計程序(即保存「狀態」 - 包括變量等 - 在一個班級)。
0
如果您確定使用OOP,請考慮爲每個輸出序列化版本(使用pickle)的類創建一個方法來存檔。然後添加第二種方法來加載數據的實例,如果pickle文件在那裏,則調用load方法而不是處理方法。 我對ML使用這種方法,它真的讓我的工作流程成型。
相關問題
- 1. 應用程序狀態保存/恢復
- 2. 如何保存運行python程序的狀態以便恢復以後
- 3. 應用程序狀態保存和恢復中的MonoTouch
- 4. 的Android - 保存/恢復狀態FragmentStatePageAdapter
- 5. 無法恢復保存的Virtualbox狀態
- 6. 保存/恢復PHP的rand狀態()
- 7. android webview的保存/恢復狀態
- 8. Android上的狀態保存和恢復?
- 9. 我可以保存NetBeans項目的狀態,以便我可以恢復它嗎?
- 10. iOS 6保存/恢復應用程序狀態功能
- 11. iOS6應用程序狀態保存和恢復
- 12. CoreBluetooth:測試狀態保存和恢復
- 13. 保存並恢復滑塊狀態
- 14. 保存和恢復活動狀態?
- 15. 保存並恢復vim狀態
- 16. 狀態保存和恢復問題
- 17. 保存和恢復視圖狀態android
- 18. 在MacOs上保存和恢復狀態
- 19. 如何保存和恢復Webview狀態?
- 20. JSF保存/恢復視圖狀態
- 21. Android應用程序狀態從啓動狀態恢復 - 恢復狀態
- 22. 程序/ IDE保存正在運行的程序的狀態並稍後恢復
- 23. 如何保存std :: mersenne_twister_engine的狀態以便稍後恢復?
- 24. 恢復應用程序的狀態
- 25. 保存頁面狀態並將其恢復到相同狀態
- 26. 我可以保存回髮狀態並將其恢復嗎?
- 27. 應用程序暫停/恢復狀態
- 28. Jython保存程序狀態
- 29. 如何恢復git中的許多提交以恢復到特定狀態
- 30. Android活動保持恢復保存的實例狀態
我還沒有機會嘗試它,但這聽起來像我所需要的。謝謝 – 2011-04-07 12:24:04
我怎樣才能找到我所有的「狀態」數據?我認爲這不是對這個問題的直接回答。 – sergzach 2016-01-12 19:09:56