有没有办法将python对象保存到没有';写';属性

有没有办法将python对象保存到没有';写';属性,python,pickle,Python,Pickle,我看到pickle是将python对象保存到磁盘的标准方法。然而,当我尝试这个 pickle.dump( embeddings , 'embeddings.pickle', pickle.HIGHEST_PROTOCOL) 我明白了 --------------------------------------------------------------------------- TypeError回溯(最近一次调用上次) 在() ---->1 pickle.dump(嵌入,'embeddi

我看到pickle是将python对象保存到磁盘的标准方法。然而,当我尝试这个

pickle.dump( embeddings , 'embeddings.pickle', pickle.HIGHEST_PROTOCOL)
我明白了

---------------------------------------------------------------------------
TypeError回溯(最近一次调用上次)
在()
---->1 pickle.dump(嵌入,'embeddings.pickle',pickle.HIGHEST_协议)
TypeError:文件必须具有“写入”属性

对于没有“write”属性的python对象,有没有办法

pickle.dump()的第二个参数必须是打开的文件,而不是文件名

with open('embeddings.pickle', 'wb') as f:
    pickle.dump( embeddings , f, pickle.HIGHEST_PROTOCOL)

什么是
嵌入
?您可以使用一些适配器将其转换为兼容的形式,或者只需手动读取/写入磁盘
dump
是否需要文件句柄而不是文件名作为第二个参数?(我自己没有用过,只是看了一下docstring。)从帮助中:*file*参数必须有一个write()方法,该方法接受一个bytes参数。它是一个类似文件的对象<代码>打开(“embeddings.pickle”、“wb”)应该可以。
with open('embeddings.pickle', 'wb') as f:
    pickle.dump( embeddings , f, pickle.HIGHEST_PROTOCOL)