pickle提供了一个简单的持久化功能。可以将对象以文件的形式存放在磁盘上。

pickle.dump(obj, file[, protocol])

序列化对象,并将结果数据流写入到文件对象中。参数protocol是序列化模式,默认值为0,表示以文本的形式序列化。protocol的值还可以是1或2,表示以二进制的形式序列化。

pickle.load(file)
反序列化对象。将文件中的数据解析为一个Python对象。

其中要注意的是,在load(file)的时候,要让python能够找到类的定义,否则会报错:

比如下面的例子

import pickle
class Person:
def __init__(self,n,a):
self.name=n
self.age=a
def show(self):
print self.name+"_"+str(self.age)
aa = Person("JGood", 2)
aa.show()
f=open('d:\\p.txt','w')
pickle.dump(aa,f,0)
f.close()
#del Person
f=open('d:\\p.txt','r')
bb=pickle.load(f)
f.close()
bb.show()

  

python pickle模块,打包创建的对象,做持久化的更多相关文章

  1. [转]python pickle模块

    持久性就是指保持对象,甚至在多次执行同一程序之间也保持对象.通过本文,您会对 Python对象的各种持久性机制(从关系数据库到 Python 的 pickle以及其它机制)有一个总体认识.另外,还会让 ...

  2. python pickle模块的使用/将python数据对象序列化保存到文件中

    # Python 使用pickle/cPickle模块进行数据的序列化 """Python序列化的概念很简单.内存里面有一个数据结构, 你希望将它保存下来,重用,或者发送 ...

  3. Python pickle模块

    python的pickle模块实现了基本的数据序列和反序列化.通过pickle模块的序列化操作我们能够将程序中运行的对象信息保存到文件中去,永久存储:通过pickle模块的反序列化操作,我们能够从文件 ...

  4. python——pickle模块的详解

    pickle模块详解 该pickle模块实现了用于序列化和反序列化Python对象结构的二进制协议. “Pickling”是将Python对象层次结构转换为字节流的过程, “unpickling”是反 ...

  5. python pickle 模块的使用

    用于序列化的两个模块 json:用于字符串和Python数据类型间进行转换 pickle: 用于python特有的类型和python的数据类型间进行转换 json提供四个功能:dumps,dump,l ...

  6. Python pickle 模块

    转自:https://www.cnblogs.com/lincappu/p/8296078.html pickle可以存储的数据类型 所有python支持的原生类型:布尔值,整数,浮点数,复数,字符串 ...

  7. python -pickle模块、re模块学习

    pickel模块 import pickle #pickle可以将任何数据类型序列化,json只能列表字典字符串数字等简单的数据类型,复杂的不可以 #但是pickle只能在python中使用,json ...

  8. Python——pickle模块(永久存储)

    一.作用 讲字典.列表.字符串等对象进行持久化,存储到磁盘上,方便以后使用. 二.dump()方法 pickle.dump(对象,文件,[使用协议]) 作用:将要持久化的数据“对象”,保存到“文件中” ...

  9. python中利用类创建的对象来保存信息

    在类创建的对象中,一般都是以字典的方式来保存信息 class Student: def __init__(self, name, age, score): self.name = name self. ...

  10. python pickle模块的用法

    pickle用于python特有的类型,和python的数据类型间进行转换,提供四个功能 dumps,dump,loads,load. pickle 的用法 #pickle.dumps 将数据通过特殊 ...

随机推荐

  1. java服务OOM和CPU飙升排查

    一.JVM参数 -D 可以是系统默认有的参数,也可以是自己定义的参数 -Dfile.encoding=UTF-8 -Dmaven.test.skip=true -Dspring.profiles.ac ...

  2. obsidian 日记本倒序汇总 获取标题显示 插件dataviewjs list

    obsidian 日记本倒序汇总 获取标题显示 插件dataviewjs list // dataviewjs function removeDuplicate(arr) { return arr.f ...

  3. axios 报 登出跨域 withCredentials: false,

    withCredentials: false, 默认值虽然是false,但是之前包装的时候设置成true了,所以最后再设置回来

  4. The History of the English language 英语语音的起源 - 英语的历史 - 古英语 印欧语 希腊语 拉丁语

    印欧语 希腊语 拉丁语 日耳曼语 都是什么年代的语言 https://time.graphics/line/776755 印欧语是指印欧语系,它最初被认为在公元前2500年左右分散流传于欧洲.亚洲和印 ...

  5. 在使用sudo apt-get -f install的时候,出现了更换介质的问题-依赖问题

    这四个选项都选上,然后apt-get update 在修补依赖问题,apt-get -f install      就好了

  6. 手动将jar包安装到本地仓库并使用tomcat运行

    参考,欢迎点击原文:https://www.cnblogs.com/panchanggui/p/10696458.html 公司有个老项目是spring的,要我们自己本地安装,我发现我maven一直报 ...

  7. 360Linux 运维工程师面试真题

    360Linux 运维工程师面试真题 首先我们来看下 360Linux 运维工程师招聘岗位要求: [岗位定义]运维工程师 [岗位薪资]15K-25K [基本要求]北京 / 经验不限 / 本科及以上 / ...

  8. 使用Java给图片添加水印

    什么是水印呢?比如使用手机拍摄一张照片的时候,照片右下角的位置显示得有日期和时间信息,那就表示一个水印. 项目开发中给图片添加水印的操作很常见,比如给图片添加日期和时间,给图片添加公司的logo之类的 ...

  9. Solon Web 文件上传的最佳实践

    文件上传是 Web 开发中最常见的一个应用场景.一般在处理数据时,会有两种常见的方案:直接把文件流放在内存里,或者把文件流先缓冲到磁盘. 1.如果是高频且文件极小 使用纯内存模式,默认即可.如果高频小 ...

  10. Smtp Oauth With Python

    我的博客园:https://www.cnblogs.com/CQman/ GitHub #基于Python语言的smtp Oauth 连接世纪互联运营的Office 365(或21V O365)的邮箱 ...