pickle用于序列化和反序列化:

  • 序列化:将python对象转换为字节流
  • 反序列化:将字节流转换为python对象
import pickle
str = 'hello world'
list = [1,2,3,4,5]
dict = {'name':'dcm','age':12,'height':170}# 序列化
# pickle.dump(obj,f,protocol),protocol是传输协议,可以取值为0,1,2,3,默认为3
f = open('test.pkl','wb')
pickle.dump(str,f) # protocol一般不用指定
pickle.dump(list,f)
pickle.dump(dict,f)
f.close()# 反序列化
# 反序列化中的顺序和序列化中顺序一样, 遵循先进先出的规律
f1 = open('test.pkl','rb') # 因为上面是序列化为二进制文件,所有我们要以rb方式读取
str = pickle.load(f1)
print(str)
list = pickle.load(f1)
print(list)
dict = pickle.load(f1)
print(dict)
f1.close()

注意:文件对象不能序列化,也就是不能pickle.dump(open(file, ‘r’), f)

pickle模块使用相关推荐

  1. 序列化模块--json模块--pickle模块-shelve模块

    什么叫序列化? 序列化是指把内存里的数据类型转变成字符串,以使其能存储到硬盘或通过网络传播到远程,因为硬盘或网络传输时只能接受bytes 例: 把内存数据 转成字符 # data ={# 'roles ...

  2. Python中的pickle模块

    链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载. Pickle模块的作用 Pickle模块用于将python对象序列化为字节流,可存储在文件或数据库中,也可同通过网络进行 ...

  3. Python--数据存储:pickle模块的使用讲解

    在机器学习中,我们常常需要把训练好的模型存储起来,这样在进行决策时直接将模型读出,而不需要重新训练模型,这样就大大节约了时间.Python提供的pickle模块就很好地解决了这个问题,它可以序列化对象 ...

  4. Python pickle模块:实现Python对象的持久化存储

    Python 中有个序列化过程叫作 pickle,它能够实现任意对象与文本之间的相互转化,也可以实现任意对象与二进制之间的相互转化.也就是说,pickle 可以实现 Python 对象的存储及恢复. ...

  5. day4 匿名函数、装饰器、生成器、迭代器、内置函数、 json 与 pickle 模块

    文章目录 1.列表生成式 2.匿名函数 3.装饰器 4.生成器 5.迭代器 6.内置函数 7.json & pickle 序列化与反序列化 1.列表生成式 可通过特定语句便捷生成列表 list ...

  6. 零基础入门学习Python(29)pickle模块

    作用 pickle模块几乎可以把所有Python的对象都转化为二进制的形式存放,这个过程称为pickling,从二进制形式转换为对象的过程称为unpickling. pickle.dump9data, ...

  7. Python json pickle模块

    一.json,用于字符串和Python数据类型间进行转换(适用于所有语言) 1.Json模块提供了四个功能:dumps . dump.loads.load 二.pickle,用于python特有的类型 ...

  8. [python](windows)分布式进程问题:pickle模块不能序列化lambda函数

    运行错误:_pickle.PicklingError: Can't pickle <function <lambda> at 0x000002BAAEF12F28>: attr ...

  9. pickle模块介绍

    python 持久性管理(pickle) 持久性就是指保持对象,甚至在多次执行同一程序之间也保持对象.通过本文,您会对 Python对象的各种持久性机制(从关系数据库到 Python 的 pickle ...

  10. 为什么使用pickle模块

    数据库是数据存储的常用方式,其在应用程序中使用,可以对大量数据进行存储. 而pickle模块同样是为了永久存储,其可以对小数据量进行存储.数据存储在一个.pickle文件中. pickle和数据库都是 ...

最新文章

  1. centos7离线安装ansible
  2. python可以从事什么工作-学Python可以找什么工作或者做什么兼职?
  3. 【方案】0615冰箱运行监测系统资料整理:进展及规划
  4. 可迭代协议与for-of循环
  5. OllyDBG 入门系列(四)-内存断点
  6. STL和C++标准库
  7. 网站锦囊(逐渐更新中)
  8. 汉字笔顺动画C端实现B端原理 - [大力智能 前端]
  9. 黑苹果 惠普笔记本电池补丁_小米笔记本Pro 黑苹果 改装内置WIFI和蓝牙
  10. 创业维艰-公司业务解决方案推荐!
  11. java商品管理系统黑马_JavaEE基础班 水果超市管理系统
  12. 阿拉伯数字转大写金额(支持简体和繁体)
  13. dwm.exe(桌面窗口管理器)占用内存过大解决办法
  14. 汉字拼音的一个解决方法
  15. 深度解析Java中的Comparable接口和Comparator接口
  16. 在面试时候,如何简明扼要简述产品流程
  17. 学信息安全买计算机,大学学习计算机类信息安全方向真的很蠢吗?
  18. matlab 电化学程序,电化学软件 - 仿真模拟电化学系统
  19. cuda编程(7):实现LK稀疏光流算法--完整的cuda程序
  20. iOS获取图片的区域主色

热门文章

  1. 用递归树求解递归算法时间复杂度
  2. 【优化算法】黑洞模拟算法(MVO)matlab源码
  3. OCR文字检测主要算法
  4. Head First C# 中文版 图文皆译 第六章 继承 page227
  5. 命令行下查看出口IP(你上网时暴露在公网上的IP地址)
  6. win10常用快捷键、命令和脚本
  7. Revit二次开发之如何在addin文件定制资源【比目鱼原创】
  8. 阿里人献上“独家全新”MySQL进阶套餐,简直就是血赚
  9. 运营总监COO—杨际国的个人介绍【未完待续】
  10. [Android]StackLabel - 一个很简单的堆叠标签