用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教程  如何快速查询网站的真实建站时间?