欢迎来到Cecilia陈的博客

孤独,是人一生最好的修行。

067 pickle模块

pickle模块

  • pickle: 可以序列化python中所有对象(数据类型),但是无法跨平台

  • Pickle序列化和所有其他编程语言特有的序列化问题一样,它只能用于Python,并且可能不同版本的Python彼此都不兼容,因此,只能用Pickle保存那些不重要的数据,即不能成功地反序列化也没关系。但是pickle的好处是可以存储Python中的所有的数据类型,包括对象,而json不可以。

  • pickle模块序列化和反序列化的过程如下图所示pickle模块

  • 列题

    • 序列化(注意:pickle模块需要使用二进制存储,即'wb'模式存储)
    • 反序列也要用rb模式取出
def func():# 定义一个函数
    x = 3
    print(x)

import pickle

# with open('test.pkl','wb') as fw: # 先把func函数序列化文件中去
#     pickle.dump(func,fw)
#


with open('test.pkl', 'rb') as fr: # 在从文件中反序列化取出func函数,这个时候func函数不能注释掉
    data = pickle.load(fr)
    data()
    print(data)
posted @ 2019-08-16 21:06  Cecilia陈  阅读(105)  评论(0编辑  收藏  举报