博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python--数据存储:pickle模块的使用讲解
阅读量:6984 次
发布时间:2019-06-27

本文共 1408 字,大约阅读时间需要 4 分钟。

       在机器学习中,我们常常需要把训练好的模型存储起来,这样在进行决策时直接将模型读出,而不需要重新训练模型,这样就大大节约了时间。Python提供的pickle模块就很好地解决了这个问题,它可以序列化对象并保存到磁盘中,并在需要的时候读取出来,任何对象都可以执行序列化操作。

Pickle模块中最常用的函数为:

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

        函数的功能:将obj对象序列化存入已经打开的file中。

       参数讲解:

  • obj:想要序列化的obj对象。
  • file:文件名称。
  • protocol:序列化使用的协议。如果该项省略,则默认为0。如果为负值或HIGHEST_PROTOCOL,则使用最高的协议版本。

(2)pickle.load(file)

        函数的功能:将file中的对象序列化读出。

        参数讲解:

  • file:文件名称。

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

     【代码示例】

      pickleExample.py

#!/usr/bin/env python# -*- coding:utf-8 -*-# Author:Huanglinshengimport pickledataList = [    [1, 1, 'yes'],    [1, 1, 'yes'],    [1, 0, 'no'],    [0, 1, 'no'],    [0, 1, 'no']]dataDic = {    0: [1, 2, 3, 4],    1: ('a', 'b'),    2: {
'c':'yes','d':'no'}}#使用dump()将数据序列化到文件中fw = open('dataFile.txt','wb')pickle.dump(dataList,fw,-1)pickle.dump(dataDic,fw)fw.close()#使用load()将数据从文件中序列化读出fr = open('dataFlie.txt','rb')data1 = pickle.load(fr)print(data1)data2 = pickle.load(fr)print(data2)fr.close()#使用dumps() 和loads()举例p = pickle.dumps(dataList)print(pickle.loads(p))p = pickle.dumps(dataDic)print(pickle.loads(p))

 

转载于:https://www.cnblogs.com/huanglinsheng/p/9395524.html

你可能感兴趣的文章
Swift值类型和引用类型的内存储存情况
查看>>
pyhon简单比较文本相似度的方法
查看>>
web前端整套面试题(二)--今日头条面试题
查看>>
一些东西,复制
查看>>
bi api 软件
查看>>
WPS客户端更新日志留着备用
查看>>
c#获取电脑硬件信息参数说明(内存篇 Win32_PhysicalMemory)
查看>>
LeetCode算法题-Balanced Binary Tree(Java实现)
查看>>
Cocos2dx 3.1.1 将一个2.X的项目改成3.1版本
查看>>
12.12冲刺~!
查看>>
sql知识
查看>>
spring boot
查看>>
核心动画(转场动画和组动画)
查看>>
数的全排列
查看>>
2015年最新手机号码正则表达式
查看>>
public private protected 区别
查看>>
IntelliJ IDEA常用设置及快捷键
查看>>
KVM: 安装Windows virtio半虚拟化驱动
查看>>
hdu2669 扩展欧几里得
查看>>
PHP 基础
查看>>