用pickle存储Python的原生对象方法


Posted in Python onApril 28, 2017

在Python中存储数据到文件中时,简单的做法是调用open函数执行文件写入操作,但是这样做的话,当我们要重新读取文件内容时,就会出现类型不匹配的情况,因为读取的都是字符串的形式,所以还需要进行类型转换,这样不简洁。

或者使用eval函数把字符串转换为对象,但是有时它过于强大,它会执行Python的任何表达式,甚至做出威胁系统正常工作的表达式,这样做不安全。

如果想存储Python原生对象,但又无法信赖文件的数据来源,那么pickle模块会是个理想的选择。

pickle模块是能够让我们直接在文件中存储几乎任何Python对象的高级工具,并不要求我们把字符串转换来转换去,像是个超级通用的数据格式化和解析工具。

demo.py:

D = {'name':'Allen', 'age':21}
f = open('p_data.pkl','wb')
import pickle
pickle.dump(D,f)
f.close()

f=open('p_data.pkl','rb')
e=pickle.load(f)
print(e)
print(type(e))

控制台输出:

{'name': 'Allen', 'age': 21}
<class 'dict'>
[Finished in 0.4s]

然后它会在指定路径下生成p_data.pkl文件:

8003 7d71 0028 5804 0000 006e 616d 6571
0158 0500 0000 416c 6c65 6e71 0258 0300
0000 6167 6571 034b 1575 2e

如果控制台提示”attributeError:'module' object has no attribute ‘dump'”,那么很可能是因为你的文件名命名为”pickle.py”,这与内置模块文件重名了,改一下就可以了。。

以上这篇用pickle存储Python的原生对象方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python自动裁剪图像代码分享
Nov 25 Python
Python3.6简单的操作Mysql数据库的三个实例
Oct 17 Python
用python生成1000个txt文件的方法
Oct 25 Python
Python学习笔记之Django创建第一个数据库模型的方法
Aug 07 Python
python Manager 之dict KeyError问题的解决
Dec 21 Python
Python嵌套函数,作用域与偏函数用法实例分析
Dec 26 Python
python实现手势识别的示例(入门)
Apr 15 Python
Python爬虫headers处理及网络超时问题解决方案
Jun 19 Python
python程序需要编译吗
Jun 19 Python
python 爬取百度文库并下载(免费文章限定)
Dec 04 Python
python如何在word中存储本地图片
Apr 07 Python
Python快速实现一键抠图功能的全过程
Jun 29 Python
Python标准库之collections包的使用教程
Apr 27 #Python
Golang与python线程详解及简单实例
Apr 27 #Python
Mac中升级Python2.7到Python3.5步骤详解
Apr 27 #Python
详解Python 2.6 升级至 Python 2.7 的实践心得
Apr 27 #Python
Python中创建字典的几种方法总结(推荐)
Apr 27 #Python
Python中index()和seek()的用法(详解)
Apr 27 #Python
Python中几种导入模块的方式总结
Apr 27 #Python
You might like
使用php+Ajax实现唯一校验实现代码[简单应用]
2011/11/29 PHP
使用php get_headers 判断URL是否有效的解决办法
2013/04/27 PHP
解析thinkphp的左右值无限分类
2013/06/20 PHP
php中异常处理方法小结
2015/01/09 PHP
PHP 魔术变量和魔术函数详解
2015/02/25 PHP
PHP中仿制 ecshop验证码实例
2017/01/06 PHP
php workerman定时任务的实现代码
2018/12/23 PHP
php 多继承的几种常见实现方法示例
2019/11/18 PHP
从sohu弄下来的flash中展示图片的代码
2007/04/27 Javascript
JavaScript:Div层拖动效果实例代码
2013/08/06 Javascript
jQuery.event兼容各浏览器的event详细解析
2013/12/18 Javascript
javascript页面倒计时实例
2015/07/25 Javascript
完美JQuery图片切换效果的简单实现
2016/07/21 Javascript
JS+CSS3模拟溢出滚动效果
2016/08/12 Javascript
VUE2 前端实现 静态二级省市联动选择select的示例
2018/02/09 Javascript
vue-awesome-swiper 基于vue实现h5滑动翻页效果【推荐】
2018/11/08 Javascript
[04:23]DOTA2上海特锦赛小组赛第一日 TOP10精彩集锦
2016/02/27 DOTA
浅析Python中的多重继承
2015/04/28 Python
Python实现读取机器硬件信息的方法示例
2018/06/09 Python
三步实现Django Paginator分页的方法
2019/06/11 Python
PyTorch中常用的激活函数的方法示例
2019/08/20 Python
django自带调试服务器的使用详解
2019/08/29 Python
Python爬虫使用代理IP的实现
2019/10/27 Python
Python将二维列表list的数据输出(TXT,Excel)
2020/04/23 Python
Python 利用flask搭建一个共享服务器的步骤
2020/12/05 Python
香港个人化生活购物网站:Ballyhoo Limited
2016/09/10 全球购物
英国100%防污和防水的靴子:Muck Boot Company
2020/09/08 全球购物
C#里面如何判断一个Object是否是某种类型(如Boolean)?
2016/02/10 面试题
三万活动总结
2014/04/28 职场文书
2014年老干部工作总结
2014/11/21 职场文书
2015年大学元旦晚会活动策划书
2014/12/09 职场文书
大学生自荐信怎么写
2015/03/26 职场文书
2015年幼儿园班主任工作总结
2015/05/12 职场文书
学校后勤工作总结2015
2015/05/15 职场文书
Vue如何实现组件间通信
2021/05/15 Vue.js
MySQL REVOKE实现删除用户权限
2021/06/18 MySQL