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. Boost:符号symbols找到null的测试程序
  2. python巡检脚本juniper_JUNIPER设备日常维护巡检命令
  3. windows消息机制-4(MFC)
  4. mvc框架异常处理机制
  5. c语言编程 float p,C语言编程经典例题
  6. vue element form 默认校验
  7. 2005服务器文件夹网页设设置,设置VSS2005使支持通过Internet访问
  8. linux进程挂起的原因6,linux – 如何找出ssh进程挂起的原因?
  9. 阶段1 语言基础+高级_1-3-Java语言高级_08-JDK8新特性_第1节 常用函数接口_5_函数式接口作为方法的参数案例...
  10. windows下怎么样搭建RobotFramework测试环境
  11. Ruby语言入门之Hello world
  12. 产品经理项目从0-1工作简要流程
  13. esp8266 安信可AiThinkerIDE_V1.5.2开发环境搭建
  14. 全国省市json文件
  15. ClassNotFoundException:com.tongweb.geronimo.osgi.locator.ProviderLocator
  16. 蓝桥杯 T32大臣的旅费
  17. unsw计算机科学的挂科率,恐怖挂科率创新高!UNSW期中惊现大面积挂科,商科一课程Fail率接近60%,朋友圈一篇哀嚎!...
  18. 基于Qt Creator的OpenCV人脸识别签到项目系列教程(一) - 人脸信息采集
  19. 找工作需要有工作经验,而没工作就没工作经验。如何理解这种死循环?
  20. Python:opencv库实现调用摄像头拍照并保存到本地

热门文章

  1. Vue上传文件及图片的写法。
  2. SpringBoot使用Redis清除所有缓存
  3. redis客户端连接(error) NOAUTH Authentication required
  4. ionic3学习历程(1)
  5. App被拒绝的原因收录
  6. Revit二次开发之如何在addin文件定制资源【比目鱼原创】
  7. W微信自动回复机器人
  8. 自定义MVC 2.0
  9. JavaScript每日一练经典小案例(二)
  10. 操作系统武功修炼心法