用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 】
相关推荐:
微信h5制作网站有哪些,免费微信H5页面制作工具?
Laravel如何使用Socialite实现第三方登录?(微信/GitHub示例)
如何确保西部建站助手FTP传输的安全性?
学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?
JavaScript如何实现继承_有哪些常用方法
Laravel怎么定时执行任务_Laravel任务调度器Schedule配置与Cron设置【教程】
Laravel如何使用Facades(门面)及其工作原理_Laravel门面模式与底层机制
标题:Vue + Vuex + JWT 身份认证的正确实践与常见误区解析
北京的网站制作公司有哪些,哪个视频网站最好?
Laravel项目如何进行性能优化_Laravel应用性能分析与优化技巧大全
高防服务器如何保障网站安全无虞?
html5源代码发行怎么设置权限_访问权限控制方法与实践【指南】
JS实现鼠标移上去显示图片或微信二维码
详解Nginx + Tomcat 反向代理 负载均衡 集群 部署指南
HTML5空格和margin有啥区别_空格与外边距的使用场景【说明】
Windows10如何更改计算机工作组_Win10系统属性修改Workgroup
Laravel如何构建RESTful API_Laravel标准化API接口开发指南
齐河建站公司:营销型网站建设与SEO优化双核驱动策略
Win11怎么恢复误删照片_Win11数据恢复工具使用【推荐】
怎么制作一个起泡网,水泡粪全漏粪育肥舍冬季氨气超过25ppm,可以有哪些措施降低舍内氨气水平?
手机怎么制作网站教程步骤,手机怎么做自己的网页链接?
Laravel API资源(Resource)怎么用_格式化Laravel API响应的最佳实践
如何为不同团队 ID 动态生成多个独立按钮
Laravel如何发送邮件和通知_Laravel邮件与通知系统发送步骤
Laravel软删除怎么实现_Laravel Eloquent SoftDeletes功能使用教程
如何在万网自助建站中设置域名及备案?
Laravel怎么生成二维码图片_Laravel集成Simple-QrCode扩展包与参数设置【实战】
Swift开发中switch语句值绑定模式
Claude怎样写约束型提示词_Claude约束提示词写法【教程】
Win11搜索不到蓝牙耳机怎么办 Win11蓝牙驱动更新修复【详解】
如何彻底删除建站之星生成的Banner?
Laravel如何创建自定义Artisan命令?(代码示例)
如何在宝塔面板中修改默认建站目录?
简历在线制作网站免费版,如何创建个人简历?
高配服务器限时抢购:企业级配置与回收服务一站式优惠方案
logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?
Laravel如何使用Service Provider注册服务_Laravel服务提供者配置与加载
Android滚轮选择时间控件使用详解
米侠浏览器网页背景异常怎么办 米侠显示修复
Laravel如何监控和管理失败的队列任务_Laravel失败任务处理与监控
网站制作大概多少钱一个,做一个平台网站大概多少钱?
Laravel storage目录权限问题_Laravel文件写入权限设置
如何为不同团队 ID 动态生成多个“认领值班”按钮
Laravel怎么实现API接口鉴权_Laravel Sanctum令牌生成与请求验证【教程】
Android Socket接口实现即时通讯实例代码
google浏览器怎么清理缓存_谷歌浏览器清除缓存加速详细步骤
微信小程序 require机制详解及实例代码
HTML 中如何正确使用模板变量为元素的 name 属性赋值
Laravel如何实现全文搜索_Laravel Scout集成Algolia或Meilisearch教程
如何快速查询网站的真实建站时间?

