众所周知,当我们需要储存数据的时候,就需要用到重定向。但是,这些都是储存简单的数据类型,那么当我们需要存储一个类的实例的时候该怎么存储呢?
实际上,我们需要用到一个模块———pickle,翻译为泡菜坛子
首先贴上一个blog:pickle的使用方法
然后贴上一份代码:
import pickle
class Person():
def __init__(self, name, age):
self.name = name
self.age = age
def show(self):
print(self.name + '_' + str(self.age))
if __name__ == "__main__":
a = Person('tian', 20)
a.show()
c = Person('babydragon' ,5)
f = open('test.txt', 'wb')#这里一定要加上b,因为文件默认的write不能是bytes类型的,可以自己尝试着删去看报错
pickle.dump(a, f, 0)
pickle.dump(c, f, 0)
f.close()
f = open('test.txt', 'rb')
b = pickle.load(f)
mm = pickle.load(f)
cc = pickle.load(f)#有点类似于迭代器的感觉,这个就很强了,因为可以储存具体的实例666
f.close()
b.show()
mm.show()
print(b.name)