用pickle存储Python的原生对象方法
发布时间 - 2026-01-11 00:52:42 点击率:次在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
# pickle
# 存储
# Python Pickle 实现在同一个文件中序列化多个对象
# Python pickle模块实现对象序列化
# Python使用pickle模块储存对象操作示例
# Python中的数据对象持久化存储模块pickle的使用示例
# Python pickle类库介绍(对象序列化和反序列化)
# 从零学python系列之浅谈pickle模块封装和拆封数据对象的方法
# Python3 pickle对象串行化代码实例解析
# 是个
# 给大家
# 这样做
# 都是
# 就会
# 是因为
# 让我们
# 会在
# 希望能
# 很可能
# 还需要
# 当我们
# 这篇
# 但又
# 它会
# 转换为
# 这与
# 命名为
# 小编
# 不安全
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
如何用景安虚拟主机手机版绑定域名建站?
品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?
大同网页,大同瑞慈医院官网?
头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站?
Laravel Pest测试框架怎么用_从PHPUnit转向Pest的Laravel测试教程
Laravel如何创建自定义Facades?(详细步骤)
Win11怎么开启自动HDR画质_Windows11显示设置HDR选项
进行网站优化必须要坚持的四大原则
浅谈Javascript中的Label语句
如何在建站主机中优化服务器配置?
网易LOFTER官网链接 老福特网页版登录地址
Windows驱动无法加载错误解决方法_驱动签名验证失败处理步骤
微信小程序 input输入框控件详解及实例(多种示例)
Laravel如何处理CORS跨域请求?(配置示例)
Laravel的辅助函数有哪些_Laravel常用Helpers函数提高开发效率
Laravel如何使用Laravel Vite编译前端_Laravel10以上版本前端静态资源管理【教程】
移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?
网站优化排名时,需要考虑哪些问题呢?
大型企业网站制作流程,做网站需要注册公司吗?
如何在万网自助建站平台快速创建网站?
详解Nginx + Tomcat 反向代理 如何在高效的在一台服务器部署多个站点
Laravel怎么实现支付功能_Laravel集成支付宝微信支付
JavaScript如何操作视频_媒体API怎么控制播放
如何用美橙互联一键搭建多站合一网站?
如何自定义safari浏览器工具栏?个性化设置safari浏览器界面教程【技巧】
ai格式如何转html_将AI设计稿转换为HTML页面流程【页面】
Laravel的路由模型绑定怎么用_Laravel Route Model Binding简化控制器逻辑
laravel怎么实现图片的压缩和裁剪_laravel图片压缩与裁剪方法
Laravel安装步骤详细教程_Laravel环境搭建指南
Mybatis 中的insertOrUpdate操作
如何彻底删除建站之星生成的Banner?
微信小程序 wx.uploadFile无法上传解决办法
Midjourney怎样加参数调细节_Midjourney参数调整技巧【指南】
学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?
深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?
Laravel怎么多语言本地化设置_Laravel语言包翻译与Locale动态切换【手册】
如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?
个人摄影网站制作流程,摄影爱好者都去什么网站?
php打包exe后无法访问网络共享_共享权限设置方法【教程】
谷歌浏览器下载文件时中断怎么办 Google Chrome下载管理修复
如何在阿里云虚拟主机上快速搭建个人网站?
如何彻底卸载建站之星软件?
Laravel如何升级到最新的版本_Laravel版本升级流程与兼容性处理
js实现点击每个li节点,都弹出其文本值及修改
如何用搬瓦工VPS快速搭建个人网站?
Win11搜索不到蓝牙耳机怎么办 Win11蓝牙驱动更新修复【详解】
Laravel如何实现用户角色和权限系统_Laravel角色权限管理机制
利用python获取某年中每个月的第一天和最后一天
如何为不同团队 ID 动态生成多个独立按钮
laravel怎么用DB facade执行原生SQL查询_laravel DB facade原生SQL执行方法

