python3 序列化对象和反序列化对象

def store(data, filename):
    # 序列化,写到本地磁盘文件
    import pickle
    with open(filename,'wb') as f:
        pickle.dump(data, f)

def grab(filename):
    # 反序列化,从本地文件读出原有的对象
    import pickle
    with open(filename,'rb') as f:
        return pickle.load(f)

# 试一下普通数据的序列化效果
data = {'key':'value'}
print('data before store: ',data)

store(data,'data.txt')
data2 = grab('data.txt')
print('data after grab: ',data2)

# 定义一个类试一试序列化效果
class A:
    def func(self):
        print('func of a')

# 存之前
a = A()
a.func()

# 取出来之后
store(a,'a.txt')
a2 = grab('a.txt')
a2.func()


output:

data before store:  {'key': 'value'}
data after grab:  {'key': 'value'}
func of a
func of a

你可能感兴趣的:(python3)