python对象序列化
pickling和unpickling python对象的序列化和反序列化:通过将对象序列化可以将其存储在变量或者文件中(pickling),可以保存当时对象的状态,实现其生命周期的延长。并且需要时可以再次将这个对象读取出来(unpickling)。原理: 将对象所属于的类和所以属性值保存下来,可以通过这些值重定义对象,从而还原对象。实现: 使用pickle模块
方法:
dumps(obj):保存在变量中;loads(byte_data):从变量中还原;dump(obj,file):保存在文件中;load(byte_data,file):从文件中还原。 示例: import pickle
#自定义类
class Student:
def __init__(self,n,a,h):
self.name = n
self.age = a
self.height = h
def age_add(self,year):
self.age += year
self.height += year*5
stu01 = Student('wang',17,170)
print("初始状态:",stu01)
print(stu01.age,stu01.height)
stu01.age_add(2)
print("两年后:",stu01)
print(stu01.age,stu01.height)
#dumps:将对象序列化存储在变量中
du = pickle.dumps(stu01)
print(du)
#load:还原对象
ret = pickle.loads(du)
print("loads:",ret)
print(ret.age,ret.height)
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文系转载,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。