Python-pickle序列化

pickle是python的数据交互,把数据进行序列化,需要的时候再进行读取

pickle序列化

# -*- coding:utf-8 -*-
__author__ = "MuT6 Sch01aR"

import pickle

def test():
    print('test')

info = {
    'name':'John',
    'age':22,
    'sex':'Male',
    'func':test
}

f = open('pickle.txt','wb') #pickle序列化生成的数据为二进制

f.write(pickle.dumps(info))
#另一种写法:pickle.dump(info,f)

f.close()

生成的文件

一些乱七八糟的数据

pickle反序列化

# -*- coding:utf-8 -*-
__author__ = "MuT6 Sch01aR"

import pickle

def test():
    print('test')
    print('test_1')

f = open('pickle.txt','rb')

data = pickle.loads(f.read())
#另一种写法:data = pickle.load(f)

print(data)
print(data['func']())

运行结果

pickle序列化不仅可以存储数据,还能存储函数

pickle反序列化可以调用反序列化的函数,只要函数名相同就可以,内容不一定要相同

posted @ 2018-02-04 00:37  Sch01aR#  阅读(217)  评论(0编辑  收藏  举报