016 pickle
英文也是泡菜的意思。
学完了,还是感觉这个模块是蛮不错的,对多数据保存到文件中,然后在使用的时候,再读取出来,让程序闲的更加优雅,简洁。
一:介绍
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相关推荐
- 序列化模块--json模块--pickle模块-shelve模块
什么叫序列化? 序列化是指把内存里的数据类型转变成字符串,以使其能存储到硬盘或通过网络传播到远程,因为硬盘或网络传输时只能接受bytes 例: 把内存数据 转成字符 # data ={# 'roles ...
- 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模块 ...
- Python中的pickle模块
链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载. Pickle模块的作用 Pickle模块用于将python对象序列化为字节流,可存储在文件或数据库中,也可同通过网络进行 ...
- Python--数据存储:pickle模块的使用讲解
在机器学习中,我们常常需要把训练好的模型存储起来,这样在进行决策时直接将模型读出,而不需要重新训练模型,这样就大大节约了时间.Python提供的pickle模块就很好地解决了这个问题,它可以序列化对象 ...
- python模块之json,pickle
序列化是指把内存里的数据转变成字符串,以使其能保存到硬盘上或者通过网络输送到远程. 序列化的两个模块: json:只能把python中的int/str/list/tuple/dict类型的数据,可以在 ...
- Python pickle模块:实现Python对象的持久化存储
Python 中有个序列化过程叫作 pickle,它能够实现任意对象与文本之间的相互转化,也可以实现任意对象与二进制之间的相互转化.也就是说,pickle 可以实现 Python 对象的存储及恢复. ...
- day4 匿名函数、装饰器、生成器、迭代器、内置函数、 json 与 pickle 模块
文章目录 1.列表生成式 2.匿名函数 3.装饰器 4.生成器 5.迭代器 6.内置函数 7.json & pickle 序列化与反序列化 1.列表生成式 可通过特定语句便捷生成列表 list ...
- 零基础入门学习Python(29)pickle模块
作用 pickle模块几乎可以把所有Python的对象都转化为二进制的形式存放,这个过程称为pickling,从二进制形式转换为对象的过程称为unpickling. pickle.dump9data, ...
- Pandas将dataframe保存为pickle文件并加载保存后的pickle文件查看dataframe数据实战
Pandas将dataframe保存为pickle文件并加载保存后的pickle文件查看dataframe数据实战 目录 Pandas将dataframe保存为pickle文件并加载保存后的pickl ...
最新文章
- 水质php202169,基于php的水质查询api调用代码实例
- MySql8.0.19最新版本创建用户分配权限演示,You have an error in your SQL syntax权限分配问题解决方法
- 元件库导入_Axure RP9【元件库的学习】
- mysql 不支持 select into
- 微信录音滑动撤销 html5,微信中这个被取消的功能悄悄上线了,将语音上滑即可转换成文字...
- 非对称加密算法--RSA加密原理及运用
- 生产常见问题及解决方案与深度分析
- 10小时,就能吃透Kafka源码?
- Excel图表如何更改坐标轴最大值
- flash砸金蛋_砸金蛋flash课件模版-幸运抽奖随机抽题-多媒体交互式flash游戏课件模版...
- 微博先锋:Twitter系统结构分析
- STM32遥控小车下位机及硬件连接部分(Keil MDK5平台的C++编程)
- 如何使用微PE给电脑装windows10系统?
- 父子组件的生命周期执行顺序
- 2个NPN三极管组成的恒流电路
- 纯CSS实现枫叶下落
- mysql第一章试题_MySQL基础-第一章
- 推荐几本最好的web前端开发技术图书
- 一步一步教你写股票走势图——分时图二(自定义xy轴)
- gyp ERR! stack Error: Can't find Python executable 'python'
热门文章
- BugkuCTF-Crypto题这不是md5
- string修饰的梦修改吗_知识点!!!NSString用copy和strong修饰的区别
- python 调用不存在的方法 统一处理_提取不重复数据在Excel、SQL与Python中的处理方法...
- 计算机专业和机电专业的区别,12届计算机专业和机电专业.doc
- android7.0uri,整理: 解决Android7.0以上文件报FileUriExposedException问题
- vivoy9s怎么设置返回键_vivoy9s怎么设置返回键 可以使用虚拟导航键
- cstring移除指定字符串_从String中移除空白字符的多种方式!?差别竟然这么大!...
- 移除镜像_这是否是你心目中的英雄联盟手游?镜像地图。水晶塔,传送移除
- java读取src xml文件路径_Java获取路径方法相对路径读取xml文件方法
- 统计c语言中英文字幕,C语言日记——递归