2017-06-11 133 views

回答

3

工作,目前如果pickle.dumppickle.dumps失敗,錯誤將被拋出。進一步查看docs以瞭解可以和不可以醃製的內容。您還可以得到一個OSErrorlink)如果一些較低級別的系統調用失敗

不過請注意,即使pickle.dump不拋出一個錯誤,你可能仍然無法加載pickle d數據。例如,您可能會遇到這樣的情況,即您使用導入的對象或引用在pickling代碼的上下文中定義的函數,例如Jupyter筆記本定義了一個自定義函數,該函數由pickle對象引用。如果您現在將該pickle對象文件發送到另一臺機器,它將不會看到該對象中引用的函數,並且unpickling將失敗。

同樣,如果模塊中有皮克對象所依賴的API更改,則導入路徑可能已更改,並且unpickling將再次失敗。

你也可能想看看dill如果你downvote的問題涵蓋稍情況下比picklehttps://github.com/uqfoundation/dill

相關問題