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

基本接口:

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

注解:将对象obj保存到文件file中去。
   protocol为序列化使用的协议版本,0:ASCII协议,所序列化的对象使用可打印的ASCII码表示;
   1:老式的二进制协议;2:2.3版本引入的新二进制协议,较以前的更高效。其中协议0和1兼容老版本的python。protocol默认值为0。
   file:对象保存到的类文件对象。file必须有write()接口, file可以是一个以’w’方式打开的文件或者一个StringIO对象或者其他任何实现write()接口的对象。如果protocol>=1,文件对象需要是二进制模式打开的。

pickle.load(file)

注解:从file中读取一个字符串,并将它重构为原来的python对象。
   file:类文件对象,有read()和readline()接口。

举例说明

#使用pickle模块将数据对象保存到文件import pickledata1 = {'a': [1, 2.0, 3, 4+6j],'b': ('string', u'Unicode string'),'c': None}selfref_list = [1, 2, 3]
selfref_list.append(selfref_list)output = open('data.pkl', 'wb')# Pickle dictionary using protocol 0.
pickle.dump(data1, output)# Pickle the list using the highest protocol available.
pickle.dump(selfref_list, output, -1)output.close()
#使用pickle模块从文件中重构python对象import pprint, picklepkl_file = open('data.pkl', 'rb')data1 = pickle.load(pkl_file)
pprint.pprint(data1)data2 = pickle.load(pkl_file)
pprint.pprint(data2)pkl_file.close()

pickle.dump和pickle.load相关推荐

  1. python基础学习(十六)——超详细!pickle模块的使用(pickle.dump()和pickle.load())

    python的pickle模块提供了一个简答的持久化功能,可以将对象以文件的形式存放在磁盘上. pickle模块实现了基本的数据序列化和反序列化 通过pickle模块的序列化操作pickle.dump ...

  2. python 2/3 joblib.dump() 和 joblib.load()

    在python2中加载python3训练和保存的模型时出错:ValueErrorTraceback (most recent call last) --> 237 clf = joblib.lo ...

  3. python joblib.dump_python 2/3 joblib.dump() 和 joblib.load()

    在python2中加载python3训练和保存的模型时出错: ValueErrorTraceback (most recent call last) --> 237 clf = joblib.l ...

  4. Python中Pickle模块的dump()方法和load()方法

    Python中的Pickle模块实现了基本的数据序列与反序列化. 一.dump()方法 pickle.dump(obj, file, [,protocol]) 注释:序列化对象,将对象obj保存到文件 ...

  5. pickle.load()和pickle.dump()

    python的pickle模块实现了基本的数据序列和反序列化. pickle.dump(obj, file, [,protocol]) 注: 将对象obj保存到文件file中去. protocol为序 ...

  6. Python常用函数:pickle【序列化:pickle.dump】【反序列化:pickle.load】

    Python 中,一切皆对象,对象本质上就是一个"存储数据的内存块".有时候,我们需要将"内存块的数据"保存到硬盘上,或者通过网络传输到其他的计算机上.这时候, ...

  7. python3 dump_Python3基础 pickle.dump和load 对一个对象进行序列化存储及读取

    Python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 Conda : 4.5.11 typesetting : Markdown ...

  8. python(pickle):序列化 、反序列化 --- pickle.dump() / pickle.dumps() / pickle.load() / pickle.loads()的使用

    1.pickle序列化 pickle.dump()方法将obj对象序列化为字节(bytes)写入到file文件中 pickle.dump(obj, file, protocol=None, *, fi ...

  9. pickle.dump()把大量数据写入文件发生MemoryError解决方法

    跑了12个小时的代码,最后因为pickle.dump()发生MemoryError错误,实在头疼.pickle.dump()有个bug就是不能存储大量数据,所以只能用别的方法,我用的是joblib读写 ...

最新文章

  1. 最常用git命令汇总(参考列表)
  2. 造句简单_造句游戏的心理投射:被现代心理学摒弃的网红心理游戏
  3. WPF 动态更换图片路径
  4. 莫名其妙就发个手机!这家公司员工晒年终奖品:人手一部iPhone 11
  5. JS的正则表达式 举例
  6. oracle聚合函数
  7. Gstreamer- 协商(Negotiation)
  8. 常用的网络进行广告推广的落实措施都有哪些渠道呢
  9. 检察机关认定河北涞源反杀案为正当防卫 决定不起诉女生父母
  10. P2037 电话号码
  11. 9月25日百度大脑开放日人像特效专场火热报名中!
  12. 随机取中文名字,百家姓,2500个常见字,支持复姓
  13. HTTPClient网络异常:java.lang.IllegalStateException: Content has been consumed
  14. 【论文阅读】水下机器人控制视觉伺服部分
  15. 关于线宽与PCB过孔铺铜的一点经验
  16. 2021高考萧山二中成绩查询,2021年杭州高考各高中成绩及本科升学率数据排名及分析...
  17. 火车头采集器文章翻译插件(文章标题内容中英双语对照|自动插入相关图片)
  18. tp5 php里如何打印变量,TP5系统变量输出
  19. 修改 messagebox 按钮文字
  20. 西门子PLC通过PROFINET控制其他厂商变频器

热门文章

  1. IntelliJ IDEA 2020.1发布,你要的都在这!
  2. FCKeditor文本编辑器的优势以及用法
  3. [黑苹果]黑苹果折腾记 -- 安装10.12.6 macOS Sierra
  4. gb28181简单解包rtp ps流,推出rtmp(java版基于springboot):六、解包rtp ps流,推出rtmp
  5. python公里转英里_python公里转英里_从英里换算为公里
  6. unity 手电筒光源SpotLight
  7. 金蝶K3 WISE 15.1金蝶K3 15.1金蝶K3 V15.1 金蝶K3 WISE 15.0金蝶K3 15.0金蝶K3 V15.0 14.3/14.2/14.1/14.0/13.1/13.0 12
  8. C语言易错点汇总(二)
  9. 中小型企业优选的免费OA品牌
  10. 金富瑞UCML2.0应用框架平台 for Asp.Net WEB 开发平台