【发布时间】:2020-06-22 23:40:54
【问题描述】:
我看到 pickle 是将 python 对象保存到磁盘的标准方法。但是,当我尝试这个时
pickle.dump( embeddings , 'embeddings.pickle', pickle.HIGHEST_PROTOCOL)
我明白了
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-36-ae20bbf8c8a9> in <module>()
----> 1 pickle.dump( embeddings , 'embeddings.pickle', pickle.HIGHEST_PROTOCOL)
TypeError: file must have a 'write' attribute
没有'write'属性的python对象有没有办法
【问题讨论】:
-
什么是
embeddings?您可以只使用一些适配器将其转换为兼容的形式,或者只是手动读/写到/从磁盘 -
dump是否需要文件句柄而不是文件名作为第二个参数? (我自己没用过,只是看文档字符串。) -
来自帮助:*file* 参数必须有一个接受单个字节参数的 write() 方法。 它是一个类似文件的对象。
open(''embeddings.pickle', 'wb')应该可以。