cpickle支持的python版本_Python中cPickle

cpickle支持的python版本_Python中cPicklecPickle模块:在python中,一般可以使用pickle类来进行python对象序列化,而cPickle提供了一个更快速简单的接口,如python文档所说:“cPickle-Afasterpickle”。cPickle可以对任意一种类型的python对象进行序列化操作,比如:list,dict,甚至是一个类的对象等。而所谓的序列化,是为了能完整地保存并能够完全可逆的恢复。在cPic…

大家好,又见面了,我是你们的朋友全栈君。

cPickle模块:

python中,一般可以使用pickle类来进行python对象序列化,而cPickle提供了一个更快速简单的接口,如python文档所说:“cPickle – A faster pickle”。

cPickle可以对任意一种类型的python对象进行序列化操作,比如:list, dict,甚至是一个类的对象等。而所谓的序列化,是为了能完整地保存并能够完全可逆的恢复。在cPickle中,主要有4个函数:

1. dump:将python对象序列化保存到本地的文件

importcPickle

data= range(1000)

cPickle.dump(data, open(“test\\data.pkl”, “wb”))

dump函数需要指定两个参数,第一个是需要序列化的python对象名称,第二个是本地的文件,需要注意的是,在这里需要使用open函数打开一个文件,并指定“写”操作。

2. load:载入本地文件,恢复python对象

data = cPickle.load(open(“test\\data.pkl”, “rb”))

使用open函数打开本地的一个文件,并指定“读”操作。

3. dumps:将python对象序列化保存到一个字符串变量中

data_string = cPickle.dumps(data)

4. loads:载入字符串,恢复python对象

data = cPickle.loads(data_string)

pickle与cpickle比较:

pickle完全用python来实现的,cpickle用C来实现的,cpickle的速度要比pickle快好多倍。

pickle模块:

1. pickle.dump(obj, file, [,protocol])

含义:pickle.dump(对象,文件,[使用协议])

将要持久化的数据“对象”,保存到“文件”中,使用有3种协议,索引0为ASCII,1为旧式二进制,2为新式二进制协议,不同之处在于2要更高效一些。

默认dump方法使用0做协议

2. pickle.load(file)

含义:pickle.load(文件),将file中的对象序列化读出。

从“文件”中读取字符串,将他们反序列化转换为python的数据对象,可以像操作数据类型的这些方法来操作它们;

3. pickle.dumps(obj[, protocol])

函数的功能:将obj对象序列化为string形式,而不是存入文件中。

obj:想要序列化的obj对象。

protocal:如果该项省略,则默认为0。如果为负值或HIGHEST_PROTOCOL,则使用最高的协议版本。

4. pickle.loads(string)

函数的功能:从string中读出序列化前的obj对象。

string:文件名称。

dump() 与 load() 相比 dumps() 和 loads() 还有另一种能力:dump()函数能一个接一个地将几个对象序列化存储到同一个文件中,随后调用load()来以同样的顺序反序列化读出这些对象。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/151210.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • mysql面试50题_面试三道题思考几分钟

    mysql面试50题_面试三道题思考几分钟一、基础笔试命令考察要求:每两个同学一组,一个口头考,一个上机实战作答,每5个题为一组,完成后换位1.开启MySQL服务2.检测端口是否运行3.为MySQL设置密码或者修改密码4.登陆MySQL数据库5.查看当前数据库的字符集6.查看当前数据库版本7.查看当前登录的用户8.创建GBK字符集的数据库oldboy,并查看已建库完整语句9.创建用户oldboy,使…

    2022年8月27日
    8
  • php中fread用法,php fread函数与fread函数用法_PHP教程

    php中fread用法,php fread函数与fread函数用法_PHP教程phpfread函数与fread函数用法php教程fread函数与fread函数用法/*fread语法:stringfread(resource$handle,int$length)fread()读取到的字节长度由处理引用的文件指针。读尽快停止对符合下列条件之一:已经读取的字节长度!eof(文件结束)达到一包可用网络(流)已阅读8192字节(打开后用户空间流)*///fread…

    2025年11月7日
    3
  • Linux下export命令和source命令与环境变量设置「建议收藏」

    Linux下export命令和source命令与环境变量设置「建议收藏」Linux下export命令和source命令与环境变量设置环境变量广泛用于程序运行环境的设置。从Linuxshell的角度来看,环境变量无非就是shell脚本的变量而已。从这个角度理解环境变量,就能理解设置环境变量的那些命令究竟在做什么。说明:笔者的系统为debian,shell为bash,以下例子均在笔者的Linux环境下测试,不保证其他环境能够通过。export命令和source命令…

    2025年9月24日
    6
  • vue脚手架基本使用「建议收藏」

    vue脚手架基本使用「建议收藏」vue脚手架基本使用

    2022年4月22日
    62
  • pytest运行_怎么清理ios文件app的缓存

    pytest运行_怎么清理ios文件app的缓存前言pytest运行完用例之后会生成一个.pytest_cache的缓存文件夹,用于记录用例的ids和上一次失败的用例。方便我们在运行用例的时候加上–lf和–ff参数,快速运行上一

    2022年7月30日
    4
  • matlab 定位_matlab读取mp3音频文件

    matlab 定位_matlab读取mp3音频文件PAGEPAGE1毕业设计(论文)基于MATLAB的声源定位系统专业年级07级应用物理学学号姓名指导教师评阅人二○一一年六月中国南京河海大学本科毕业设计(论文)任务书(理工科类)Ⅰ、毕业设计(论文)题目:基于matlab系统声源识别与实时定位初步研究Ⅱ、毕业设计(论文)工作内容(从综合运用知识、研究方案的设计、研究方法和手段的运用、应用文献资料…

    2022年9月2日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号