如何知道pickle.dump()
是否成功保存了pickle文件?
在docs中,我看不到表示成功或失敗的返回值。如何知道pickle.dump()是否成功保存文件
我與Python 3在jupyter筆記本
如何知道pickle.dump()
是否成功保存了pickle文件?
在docs中,我看不到表示成功或失敗的返回值。如何知道pickle.dump()是否成功保存文件
我與Python 3在jupyter筆記本
工作,目前如果pickle.dump
或pickle.dumps
失敗,錯誤將被拋出。進一步查看docs以瞭解可以和不可以醃製的內容。您還可以得到一個OSError
(link)如果一些較低級別的系統調用失敗
不過請注意,即使pickle.dump
不拋出一個錯誤,你可能仍然無法加載pickle
d數據。例如,您可能會遇到這樣的情況,即您使用導入的對象或引用在pickling
代碼的上下文中定義的函數,例如Jupyter筆記本定義了一個自定義函數,該函數由pickle對象引用。如果您現在將該pickle對象文件發送到另一臺機器,它將不會看到該對象中引用的函數,並且unpickling將失敗。
同樣,如果模塊中有皮克對象所依賴的API更改,則導入路徑可能已更改,並且unpickling將再次失敗。
你也可能想看看dill
如果你downvote的問題涵蓋稍情況下比pickle
https://github.com/uqfoundation/dill
,可你至少說爲什麼,或指示如何改進呢? – SherylHohman
爲什麼討厭,這是一個完全有效的問題? –
@MattiLyra感謝編輯..和支持。 – SherylHohman