对象持久化
常常需要将对象内容保存到一个文件中或从中进行还原,解决该问题的方法之一是编写两个函数,以一种特殊格式在文件中读取和写入数据。另一种方法是用pickle
和shelve
模块。
pickle
模块将对象序列化为一个字节流,这个字节流可以写入到文件并在以后进行还原。pickle
的接口非常简单,只包含dump()
和load()
操作。例如,以下代码将一个对象写入一个文件:
import pickle
obj = SomeObject()
with open(filename, 'wb') as f:
pickle.dump(obj, f) # 将对象保存到f上
要还原对象,可以使用以下代码:
import pickle
with open(filename, 'rb') as f:
obj = pickle.load(f) # 还原对象