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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 2021pycharm激活码【最新永久激活】

    (2021pycharm激活码)最近有小伙伴私信我,问我这边有没有免费的intellijIdea的激活码,然后我将全栈君台教程分享给他了。激活成功之后他一直表示感谢,哈哈~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.htmlS3…

    2022年3月26日
    118
  • linux查看全部环境变量_linux刷新环境变量命令

    linux查看全部环境变量_linux刷新环境变量命令阅读目录linux查看环境变量linux变量的种类设置变量的三种方法使用unset删除指定的环境变量删除PATH环境变量指定值常用的环境变量其他linux查看环境变量1.使用echo命令查看单个环境变量。例如:echo$PATH2.使用env查看所有环境变量。例如:env3.使用set查看所有本地定义的环境变量。linux变量的种类按变量的生存周期来划分,Linux变量可分…

    2022年10月1日
    0
  • 开源Fast R-CNN代码实现物体识别[通俗易懂]

    开源Fast R-CNN代码实现物体识别[通俗易懂]参考链接:https://blog.csdn.net/linolzhang/article/details/703060031.资源链接代码下载链接:https://github.com/CharlesShang/TFFRCNN训练好的网络下载链接: 在TFFRCNN-master下新建文件夹model,存放要下载入的net(参考Github下载地址),推荐下载: …

    2022年7月16日
    14
  • 可重入锁和不可重入锁的区别

    可重入锁和不可重入锁的区别不可重入锁示例(同一个线程不可以重入上锁后的代码段)如下是一个不可重入锁的逻辑过程,会发现执行main方法控制台会打印执行doJob方法前,然后就会一直线程阻塞,不会打印执行doJob方法过程中,原因在于第一次上锁后,由于没有释放锁,因此执行第一次lock后isLocked=true,这个时候调用doJob()内部又一次调用了lock()由于上个线程将isLocked=true,导致再次进入的时候就进入死循环。导致线程无法执行System.out.println(“执行doJob方法过程中”);这

    2022年6月26日
    33
  • fedora14下载_乡村爱情12部下载

    fedora14下载_乡村爱情12部下载Fedora12正式版已于2009年11月18日正式发布,下面提供官方网站下载地址:下载主页:http://fedoraproject.org/zh_CN/get-fedora种子:http://torrent.fedoraproject.org/镜像:http://mirrors.fedoraproject.org/publiclist/Fedora/12/ …

    2022年9月20日
    0
  • c++ 线程间通信方式「建议收藏」

    c++ 线程间通信方式「建议收藏」线程同步和线程互斥互斥:是指某一资源同时只允许一个访问者对其进行访问,具有唯一性和排它性。但互斥无法限制访问者对资源的访问顺序,即访问是无序的,线程间不需要知道彼此的存在。同步:是指在互斥的基础上(大多数情况),通过其它机制实现访问者对资源的有序访问,线程间知道彼此的存在。在大多数情况下,同步已经实现了互斥,特别是所有写入资源的情况必定是互斥的。少数情况是指可以允许多个访问者同时访问资源线程…

    2022年10月7日
    0

发表回复

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

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