用pickle存储Python的原生对象方法
作者:jingxian 发布时间:2023-10-31 04:43:13
标签:python,pickle,存储
在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”,这与内置模块文件重名了,改一下就可以了。。


猜你喜欢
- 本文实例为大家分享了JS实现倒计时图文效果的具体代码,供大家参考,具体内容如下<body><img src="i
- 阅读上一篇:FrontPage2002简明教程四:网页超级链接 一、三种添加CSS的方式 在FrontPage 2002里可以通过三种方式给
- 缓存是指可以进行高速数据交换的存储器,它先于内存与CPU交换数据,因此速度很快。缓存就是把一些数据暂时存放于某些地方,可能是内存,也有可能硬
- 参考的一些文章以及论文我都会给大家分享出来 —— 链接就贴在原文,论文我上传到资源中去,大家可以免费下载学习,如果当天资源区找不到论文,那就
- GO实现内存数据库实现Redis的database层(核心层:处理命令并返回)https://github.com/csgopher/go-
- 格式:Download.asp?FileName=要下载的文件名 代码如下:Dim Stream Dim Co
- 本文实例讲述了Python实现简单截取中文字符串的方法。分享给大家供大家参考。具体如下:web应用难免会截取字符串的需求,Python中截取
- 面向对象编程——Object Oriented Programming,简称OOP,是一种程序设计思想。OOP把对象作为程序的基本单元,一个
- import 机制功能Python 的 import 机制基本上可以切分为三个不同的功能:Python运行时的全局模块池的维护和搜索;解析与
- 目录一、生产环境,开发环境切换第一种方法:通过配置.env文件来实现第二种方法二、过滤器三、moment时间库使用一、生产环境,开发环境切换
- 本文实例为大家分享了js信息滚动效果的具体代码,供大家参考,具体内容如下向上无缝滚动:<html><head><
- 本文实例讲述了MSSQL分页存储过程。分享给大家供大家参考,具体如下:USE [DB_Common]GO/****** 对象: Stored
- 目录项目地址运行环境运行方法数据爬取(jd.comment.py)模型训练(train.py)情感分析(sentiment.analysis
- 一.克隆表法一mysql> create table info1 like info;复制格式,通过LIKE方法,复制info表结构生
- 前两天由于一个小项目想为一元素添加一个阴影效果,但是记得看过某高人写的"用Div/CSS模拟阴影效果"文章,现在还有一点
- 1.连接查询作用:当查询结果的列来源于多张表时,需要将多张表连接成一个大的数据集,再选择合适的列返回2、连接类型内连接定义:内连接查询:查询
- 1、很多B2C或者淘宝的卖家反应,下单了但没有支付的占有率超过30%,有的甚至到40%。对于冲动性消费的商品来说,这个70%左右的转化率其实
- 什么是运行时配置(Runtime Configuration,rc)Matplotlib使用matplotlibrc配置文件来自定义图形的各
- WeUI 是一套同微信原生视觉体验一致的基础样式库,由微信官方设计团队为微信内网页和微信小程序量身设计,令用户的使用感知更加统一。
- “ 这是MySQL系列笔记的第十三篇,文章内容均为本人通过实践及查阅资料相关整理所得,可用作新手入门指南,或者