英文也是泡菜的意思。

  学完了,还是感觉这个模块是蛮不错的,对多数据保存到文件中,然后在使用的时候,再读取出来,让程序闲的更加优雅,简洁。

一:介绍

1.为什么使用

  在开篇已经介绍了,但是我这里粘贴一下别人对pickle的看法。

  pickle是python语言的一个标准模块,安装python后已包含pickle库,不需要单独再安装。

  那么为什么需要序列化和反序列化这一操作呢?

  1.便于存储。序列化过程将文本信息转变为二进制数据流。这样就信息就容易存储在硬盘之中,当需要读取文件的时候,从硬盘中读取数据,然后再将其反序列化便可以得到原始的数据。在Python程序运行中得到了一些字符串、列表、字典等数据,想要长久的保存下来,方便以后使用,而不是简单的放入内存中关机断电就丢失数据。python模块大全中的Pickle模块就派上用场了,它可以将对象转换为一种可以传输或存储的格式。

  2.便于传输。当两个进程在进行远程通信时,彼此可以发送各种类型的数据。无论是何种类型的数据,都会以二进制序列的形式在网络上传送。发送方需要把這个对象转换为字节序列,在能在网络上传输;接收方则需要把字节序列在恢复为对象。

2.保存

  pickle模块是以二进制的形式序列化后保存到文件中(保存文件的后缀为”.pkl”),不能直接打开进行预览。

  而python的另一个序列化标准模块json,则是human-readable的,可以直接打开查看(例如在notepad++中查看)。

二:操作

1.思路

  数据不写多了,这里只写了一个列表,做演示。

  主要分为两个阶段,一个是存放数据到文件。

  第二个阶段是从文件中读取数据,获取使用。

2.程序

 1 ###第一阶段,属于腌制
 2 import pickle
 3 data_list=[1,2,3,4,5,6,7,8,'aaaa',[1,8,'a']]
 4
 5 file1=open('data.pkl','wb')
 6 pickle.dump(data_list, file1)
 7 file1.close()
 8
 9 ###第二阶段,属于使用
10 file2=open('data.pkl','rb')
11 newdata=pickle.load(file2)
12 print(newdata)

3.效果、

  

4.遇到的问题

  module 'pickle' has no attribute 'dump'

  解决方式:

    python package中的名字写成了pickle,后来修改成pickleDemo就好了,这个值得注意一下。

016 pickle相关推荐

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

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

  2. Python基础18-常用模块之os、sys、json、pickle、shelve、xml、re、logging、configparse、hashlib等

    目录 os.os.path sys json pickle.shelve.xml.re.logging.configparse.hashlib未完待续-- os.os.path Python的os模块 ...

  3. Python中的pickle模块

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

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

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

  5. python模块之json,pickle

    序列化是指把内存里的数据转变成字符串,以使其能保存到硬盘上或者通过网络输送到远程. 序列化的两个模块: json:只能把python中的int/str/list/tuple/dict类型的数据,可以在 ...

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

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

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

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

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

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

  9. Pandas将dataframe保存为pickle文件并加载保存后的pickle文件查看dataframe数据实战

    Pandas将dataframe保存为pickle文件并加载保存后的pickle文件查看dataframe数据实战 目录 Pandas将dataframe保存为pickle文件并加载保存后的pickl ...

最新文章

  1. 水质php202169,基于php的水质查询api调用代码实例
  2. MySql8.0.19最新版本创建用户分配权限演示,You have an error in your SQL syntax权限分配问题解决方法
  3. 元件库导入_Axure RP9【元件库的学习】
  4. mysql 不支持 select into
  5. 微信录音滑动撤销 html5,微信中这个被取消的功能悄悄上线了,将语音上滑即可转换成文字...
  6. 非对称加密算法--RSA加密原理及运用
  7. 生产常见问题及解决方案与深度分析
  8. 10小时,就能吃透Kafka源码?
  9. Excel图表如何更改坐标轴最大值
  10. flash砸金蛋_砸金蛋flash课件模版-幸运抽奖随机抽题-多媒体交互式flash游戏课件模版...
  11. 微博先锋:Twitter系统结构分析
  12. STM32遥控小车下位机及硬件连接部分(Keil MDK5平台的C++编程)
  13. 如何使用微PE给电脑装windows10系统?
  14. 父子组件的生命周期执行顺序
  15. 2个NPN三极管组成的恒流电路
  16. 纯CSS实现枫叶下落
  17. mysql第一章试题_MySQL基础-第一章
  18. 推荐几本最好的web前端开发技术图书
  19. 一步一步教你写股票走势图——分时图二(自定义xy轴)
  20. gyp ERR! stack Error: Can't find Python executable 'python'

热门文章

  1. BugkuCTF-Crypto题这不是md5
  2. string修饰的梦修改吗_知识点!!!NSString用copy和strong修饰的区别
  3. python 调用不存在的方法 统一处理_提取不重复数据在Excel、SQL与Python中的处理方法...
  4. 计算机专业和机电专业的区别,12届计算机专业和机电专业.doc
  5. android7.0uri,整理: 解决Android7.0以上文件报FileUriExposedException问题
  6. vivoy9s怎么设置返回键_vivoy9s怎么设置返回键 可以使用虚拟导航键
  7. cstring移除指定字符串_从String中移除空白字符的多种方式!?差别竟然这么大!...
  8. 移除镜像_这是否是你心目中的英雄联盟手游?镜像地图。水晶塔,传送移除
  9. java读取src xml文件路径_Java获取路径方法相对路径读取xml文件方法
  10. 统计c语言中英文字幕,C语言日记——递归