Python中的pickle模块常用函数

 更新时间:2023年09月22日 09:12:44   作者:程序遇上智能星空  
这篇文章主要介绍了Python中的pickle模块常用函数,pickle模块使用的数据格式是python专用的,能够把python对象直接保存到文件,而不需要转化为字符串,也不用底层的文件访问操作把它们写入到一个二进制文件中,需要的朋友可以参考下

1、序列化、反序列化介绍

序列化:把对象转换为字节序列的过程称为对象的序列化。

反序列化:把字节序列恢复为对象的过程称为对象的反序列化。

2、pickle模块说明

python中的pickle模块实现了基本的数据序列化和反序列化。

通过pickle模块的序列化操作能够将程序中运行的对象信息保存到文件中去,永久存储;通过pickle模块的反序列化操作,能够从文件中创建上一次程序保存的对象。

pickle模块使用的数据格式是python专用的,能够把python对象直接保存到文件,而不需要转化为字符串,也不用底层的文件访问操作把它们写入到一个二进制文件中。

3、pickle模块常用函数

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

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

参数:

obj:想要序列化的obj对象。

file:文件名称。

protocol:序列化使用的协议。如果该项省略,则默认为0。如果为负值或HIGHEST_PROTOCOL,则使用最高的协议版本。

#!/usr/bin/env python
# -*- coding:utf-8 -*-
import pickle
# 将test对象序列化到文件中
def dump_test_data():
    test = [1, 2, 3]
    with open("test.pickle", "wb") as file:
        pickle.dump(test, file)

(2)pickle.load(file)

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

参数:

file:文件名称。

#!/usr/bin/env python
# -*- coding:utf-8 -*-
import pickle
# 将文件中test对象序列化读出
def load_test_data():
    with open("test.pickle", "rb") as file:
        test = pickle.load(file)
    return test

(3)pickle.dumps(obj[, protocol])

函数的功能:将obj对象序列化为string形式,而不是存入文件中。

参数:

obj:想要序列化的obj对象。

protocal:如果该项省略,则默认为0。如果为负值或HIGHEST_PROTOCOL,则使用最高的协议版本。

#!/usr/bin/env python
# -*- coding:utf-8 -*-
import pickle
# 将test对象序列化为字符串形式
def dumps_test_data():
    test = [1, 2, 3]
    # dumps 将数据通过特殊的形式转换为仅python语言识别的字符串
    str_test = pickle.dumps(test)
    print(str_test)

(4)pickle.loads(string)

函数的功能:从string中读出序列化前的obj对象。

参数:

string:文件名称。

#!/usr/bin/env python
# -*- coding:utf-8 -*-
import pickle
# 从string中读出序列化前的对象
def loads_test_data():
    test = [1, 2, 3]
    str_test = pickle.dumps(test)
    # loads 将pickle数据转化为python的数据结构
    loads_test = pickle.loads(str_test)
    print(loads_test)

到此这篇关于Python中的pickle模块常用函数的文章就介绍到这了,更多相关Python的pickle模块内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python win32 简单操作方法

    python win32 简单操作方法

    下面小编就为大家带来一篇python win32 简单操作方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05
  • Python3之文件读写操作的实例讲解

    Python3之文件读写操作的实例讲解

    下面小编就为大家分享一篇Python3之文件读写操作的实例讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-01-01
  • python内置模块collections详解

    python内置模块collections详解

    这篇文章主要介绍了python内置模块collections详解,collections是Python内建的一个集合模块,提供了许多有用的集合类,python提供了很多非常好用的基本类型,比如不可变类型tuple,我们可以轻松地用它来表示一个二元向量,需要的朋友可以参考下
    2023-09-09
  • python多线程并发及测试框架案例

    python多线程并发及测试框架案例

    这篇文章主要介绍了python多线程并发及测试框架案例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-10-10
  • 使用Python实现从零开始打造一个三维绘图系统

    使用Python实现从零开始打造一个三维绘图系统

    这篇文章主要为大家详细介绍了如何使用Python实现一个绘图系统,通过指定x,y,z的表达式,以实现三维绘图的目的,感兴趣的可以了解下
    2024-02-02
  • 利用Python实现读取照片的Exif信息

    利用Python实现读取照片的Exif信息

    这篇文章主要为大家详细介绍了如何利用Python实现读取照片的Exif信息,文中的示例代码简洁易懂,具有一定的参考价值,有需要的小伙伴可以参考下
    2023-10-10
  • Python 使用with上下文实现计时功能

    Python 使用with上下文实现计时功能

    with 语句适用于对资源进行访问的场合,确保不管使用过程中是否发生异常都会执行必要的“清理”操作,释放资源,比如文件使用后自动关闭、线程中锁的自动获取和释放等。这篇文章主要介绍了Python 使用with上下文实现计时,需要的朋友可以参考下
    2018-03-03
  • 浅谈dataframe两列相乘构造新特征

    浅谈dataframe两列相乘构造新特征

    这篇文章主要介绍了dataframe两列相乘构造新特征,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-05-05
  • Python编程实现删除VC临时文件及Debug目录的方法

    Python编程实现删除VC临时文件及Debug目录的方法

    这篇文章主要介绍了Python编程实现删除VC临时文件及Debug目录的方法,涉及Python针对文件与目录的遍历、删除等相关操作技巧,需要的朋友可以参考下
    2017-03-03
  • Python寻找两个有序数组的中位数实例详解

    Python寻找两个有序数组的中位数实例详解

    这篇文章主要介绍了Python寻找两个有序数组的中位数,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-12-12

最新评论