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()来以同样的顺序反序列化读出这些对象。

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 好程序员Java培训分享如何快速入门Java

    好程序员Java培训分享如何快速入门Java好程序员Java培训分享如何快速入门Java,一、掌握静态方法和属性  静态方法和属性用于描述某一类对象群体的特征,而不是单个对象的特征。Java中大量应用了静态方法和属性,这是一个通常的技巧。但是这种技巧在很多语言中不被频繁地使用。理解静态方法和属性对于理解类与对象的关系是十分有帮助的,在大量的Java规范中,静态方法和属性被频繁使用。因此学习者应该理解静态方法和属性。Java在方法和属性的调用上是一致的,区别只表现在声明的时候,这和c++是不同的。  二、重视接口  在面向对象早期的应用中大量使用

  • XGBoost简介

    XGBoost简介本文据此对XGBoost的原理做简单的介绍…XGBoost[1]是2014年2月诞生的专注于梯度提升算法的机器学习函数库,此函数库因其优良的学习效果以及高效的训练速度而获得广泛的关注。仅在2015年,在Kaggle[2]竞赛中获胜的29个算法中,有17个使用了XGBoost库,而作为对比,近年大热的深度神经网络方法,这一数据则是11个。在KDDCup2015[3]竞赛中,排

  • velocity定义_velocity模板

    velocity定义_velocity模板文章目录基本用法导入依赖1.基本用法1.1注释1.2替换变量1.3不解析,原文输出1.4调用对象方法指令setifelse基本用法导入依赖<dependency> <groupId>org.apache.velocity</groupId><artifactId>velocity</artifactId><version>1.7</version></dependency&

    2022年10月19日
  • Linux上Oracle 11g安装步骤图解

    Linux上Oracle 11g安装步骤图解Linux系统中安装oracle11g,图文并茂,并提供一些常见的错误处理方法!!

  • 网络摄像头RTSP视频流WEB端实时播放实现方案[通俗易懂]

    网络摄像头RTSP视频流WEB端实时播放实现方案[通俗易懂]IPC视频流怎么实时在WEB浏览器播放,视频流格式是RTSP。下面我整理了自己实现的方案以及网上看到的一些方案一、FFmpeg+nginx将转hls通过video.js在支持h5浏览器播放(我实现的)参见:Nginx+FFmpeg实现rtsp流转hls流,在WEB通过H5video实现视频播放不足:hls延迟较rtmp、http-flv大二、FFmpeg+nginx-…

    2022年10月18日
  • Oracle(11g)数据库安装详细图解教程

    Oracle(11g)数据库安装详细图解教程一、下载Oracle11gR2安装包(ForWindows)官网下载百度云盘(提取码:u3xw)下载后的安装包文件如下图所示:同时选中两个压缩包进行解压,解压文件会自动合并到名为database同一文件夹,如下图:进入database目录,双击setup.exe文件进行安装,如下图:首先会弹出黑窗口,不用管它,一会自己就消失了,如下图:…

发表回复

您的电子邮箱地址不会被公开。

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