位置: 编程技术 - 正文
推荐整理分享Python中的数据对象持久化存储模块pickle的使用示例(python数据操作),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:python数据操作,python中的数据类型有哪些,如何用python对数据进行分析,如何用python进行数据处理,python中的数据类型有哪些,python的数据对象类型有什么,python对于数据分析的意义,python数据对象,内容如对您有帮助,希望把文章链接给更多的朋友!
Python中可以使用 pickle 模块将对象转化为文件保存在磁盘上,在需要的时候再读取并还原。具体用法如下:pickle是Python库中常用的序列化工具,可以将内存对象以文本或二进制格式导出为字符串,或者写入文档。后续可以从字符或文档中还原为内存对象。新版本的Python中用c重新实现了一遍,叫cPickle,性能更高。 下面的代码演示了pickle库的常用接口用法,非常简单:
pickle.dump(obj, file[, protocol])这是将对象持久化的方法,参数的含义分别为:
obj: 要持久化保存的对象; file: 一个拥有 write() 方法的对象,并且这个 write() 方法能接收一个字符串作为参数。这个对象可以是一个以写模式打开的文件对象或者一个 StringIO 对象,或者其他自定义的满足条件的对象。 protocol: 这是一个可选的参数,默认为 0 ,如果设置为 1 或 True,则以高压缩的二进制格式保存持久化后的对象,否则以ASCII格式保存。对象被持久化后怎么还原呢?pickle 模块也提供了相应的方法,如下:
pickle.load(file)只有一个参数 file ,对应于上面 dump 方法中的 file 参数。这个 file 必须是一个拥有一个能接收一个整数为参数的 read() 方法以及一个不接收任何参数的 readline() 方法,并且这两个方法的返回值都应该是字符串。这可以是一个打开为读的文件对象、StringIO 对象或其他任何满足条件的对象。
下面是一个基本的用例:
不过实际应用中,我们可能还会有一些改进,比如用 cPickle 来代替 pickle ,前者是后者的一个 C 语言实现版本,拥有更快的速度,另外,有时在 dump 时也会将第三个参数设为 True 以提高压缩比。再来看下面的例子:
在我的电脑上执行结果为:
可以看到,dump 时如果指定了 protocol 为 True,压缩过后的文件的大小只有原来的文件的 % ,同时无论在 dump 时还是 load 时所耗费的时间都比原来少。因此,一般来说,可以建议把这个值设为 True 。
另外,pickle 模块还提供 dumps 和 loads 两个方法,用法与上面的 dump 和 load 方法类似,只是不需要输入 file 参数,输入及输出都是字符串对象,有些场景中使用这两个方法可能更为方便。
举例简单讲解Python中的数据存储模块shelve的用法 shelve类似于一个key-value数据库,可以很方便的用来保存Python的内存对象,其内部使用pickle来序列化数据,简单来说,使用者可以将一个列表、字典、或
Python程序中用csv模块来操作csv文件的基本使用教程 CSV全称为CommaSeparatedValues,是一种格式化的文件,由行和列组成,分隔符可以根据需要来变化。如下面为一csv文件:Title,ReleaseDate,DirectorAndNowForSomethingComple
python相似模块用例 一:threadingVSThread众所周知,python是支持多线程的,而且是native的线程,其中threading是对Thread模块做了包装,可以更加方面的被使用,threading模块里面主
标签: python数据操作
本文链接地址:https://www.jiuchutong.com/biancheng/383377.html 转载请保留说明!上一篇:Python和Perl绘制中国北京跑步地图的方法(perl vs python)
下一篇:Python程序中用csv模块来操作csv文件的基本使用教程(python中csv怎么用)
友情链接: 武汉网站建设