我怎么知道 pickle.dump() 是否成功保存了文件

How can I know if pickle.dump() successfully saved the file

我怎么知道 pickle.dump() 是否成功保存了 pickle 文件?
docs 中,我没有看到指示成功或失败的 return 值。

我正在使用 python 3,目前在 jupyter notebook 中

如果 pickle.dumppickle.dumps 失败,将抛出错误。如果某些较低级别的系统调用失败,请参阅 docs further down for what can and can't be pickled. You may also get an OSError (link)

但是请注意,即使 pickle.dump 没有抛出错误,您仍然可能无法加载 pickled 数据。例如,您 pickled 的对象可能会使用导入或引用在 pickling 代码的上下文中定义的函数,例如 Jupyter notebook 定义了引用的自定义函数通过腌制对象。如果您现在将该 pickle 对象文件发送到另一台机器,它将看不到对象中引用的函数,并且 unpickling 将失败。

同样,如果 picled 对象所依赖的模块发生 API 更改,导入路径可能已更改,并且 unpickling 将再次失败。

您可能还想看看 dill 涵盖的案例比 pickle https://github.com/uqfoundation/dill