如果你需要将一个Python对象序列化为一个字节流,以便将它保存到一个文件、存储到数据库,那么最常用的做法就是使用 pickle 模块。
对于大多数应用程序来讲,dump() 和 load() 函数的使用就是你有效使用 pickle 模块所需的全部了。 它可适用于绝大部分Python数据类型和用户自定义类的对象实例。 如果你碰到某个库可以让你在数据库中保存/恢复Python对象或者是通过网络传输对象的话, 那么很有可能这个库的底层就使用了 pickle 模块。
pickle模块可以保存序列甚至是模型。当保存模型时,常保存为pkl文件,(pkl文件是python里面保存文件的一种格式,打开后显示一堆序列化的东西),python用来保存固定变量的
dump函数—起保存作用
import pickle
f = open('LR_Model_Normal.pkl', 'wb')
pickle.dump(LR, f)
f.close()
load函数—起加载作用
```python
import pickle
f = open('LR_Model_Normal.pkl', 'rb')
pickle.load(f)
f.close()
pandas中拥有to_pickle方法可以将数据以pickle格式写入硬盘,read_pickle方法可以读取pickle格式文件。
注意
pickle仅被推荐作为短期的存储格式。问题在于pickle很难确保格式的长期有效性。一个今天被pickle化的对象明天可能会因为库的新版本而无法反序列化。我们尽可能保持向后兼容性,但是再将来的某个时候,可能有必要打破pickle格式。