Python 持久化功能模块 pickle

20 篇文章 0 订阅
16 篇文章 0 订阅

Python 中 pickle 提供了一个简单的持久化功能,可以将 Python 中复杂的数据结构(包括‘对象’)序列化,并将结果数据流写入到文件对象中。
最初的目的是想实现 如何保存运行python程序的状态以便恢复以后,里面提到了 pickle

可以参考官方文档:https://docs.python.org/3/library/pickle.html
或者其他博客:Python中的Pickle模块,里面大致简单介绍了一下 pickle 的作用

从一个文件里读取字符串非常简单,但如果想要读取出数值,那就需要多费点儿周折。因为无论是 read()方法还是 readline()方法,都是返回一个字符串,如果希望从字符串里提取出数值,可以使用 int()函数或float()函数把类似’123’或’3.14’这类字符串强制转换为具体的数值。

此前一直在讲保存文本,然而当要保存的数据像列表、字典甚至是类的实例这些更复杂的数据类型时,普通的文件操作就会变得不知所措。也许你会把这些都转换为字符串,再写入到一个文本文件中保存起来,但是很快就会发现要把这个过程反过来,从文本文件恢复数据对象,就变得异常麻烦了。

所幸的是,Python提供了一个标准模块,使用这个模块,就可以非常容易地将列表、字典这类复杂数据类型存储为文件了。这个模块就是本节要介绍的pickle模块。

用官方文档中的话说,这是一个令人惊叹(amazing)的模块,它几乎可以把所有 Python 的对象都转化为二进制的形式存放,这个过程称为picking,那么从二进制形式转换回对象的过程称为unpickling。

此外,还要一个 cPickle的模块,据说效率更高,但是在 Python 的3.x版本中被 _pickle 取代了,可以再详细查一下。


其他的文档

  1. scikit-learn: Save and Restore Models
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值