首页后端开发PythonPython在pickle序列化后数据如何处理

Python在pickle序列化后数据如何处理

时间2023-06-05 16:46:02发布访客分类Python浏览861
导读:Python在pickle序列化后数据如何处理?cpickle在python中,一般使用pickle类来进行python对象的序列化,同时cPickle(C语言编译版本 提供了一个更快速简单的实现,如官方文档所说的:"cPickle – A...

Python在pickle序列化后数据如何处理?

cpickle

在python中,一般使用pickle类来进行python对象的序列化,同时cPickle(C语言编译版本)提供了一个更快速简单的实现,如官方文档所说的:"cPickle – A faster pickle",其速度大概是pickle的1000倍,因此在大多数应用程序中通常优先使用cPickle (cPickle 除了不能被继承之外,它与pickle使用基本上区别不大)。

cPickle可以对任意一种类型的python对象进行序列化操作,比如list,dict,甚至是一个类的对象等。

在cPickle中,我们使用下面方式把数据持久化至文件中:

dump函数——序列化

需要指定两个参数,第一个是需要序列化的python对象名称,第二个是本地的文件,需要使用open函数以"写"模式打开文件。

load函数——反序列化

载入本地文件,加载为python对象,加载出来的对象无须进行格式转换。如果通过一般写入的方式实现数据的持久化,那么在读出数据时,需要额外进行数据类型的转换。

输出

请注意,cPickle是python2 的库,在python3.x版本,改名为pickle。

缺点

pickle模块使用的数据格式是python专用的,并且不同版本不向后兼容,同时也不能被其他语言说识别。使用pickle存在安全风险,切勿反序列化不受信任或未经身份验证的pickle字节串,比如通过代码获得文件列表,进一步也可以获取文件操作等权限:

输出

因此 pickle 方案不适合用于网络通信,可以改用另一种序列化方式,如JSON。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Python在pickle序列化后数据如何处理
本文地址: https://pptw.com/jishu/62779.html
迭代器基本方法有close吗 python输出结尾多一个空格怎么办

游客 回复需填写必要信息