Python中的Pickle库该如何使用?pickle与json之间有什么区别?

pickle是python语言的一个标准模块,安装python后已包含pickle库,不需要单独安装 。这篇文章主要介绍了python中的Pickle库该如何使用?pickle与json之间有什么区别?需要的朋友可以参考下,下面一起来学习一下吧!

Python中的Pickle库该如何使用?pickle与json之间有什么区别?

文章插图
在Python中,我们可以使用一个库来对任意的对象和文本之间进行转换,它还可以将一个对象和一个二进制之间进行转换,这个转换的过程就是叫做pickle,也是我们今天要学习的内容 。
一、pickle与json比较
之前我们学习过一些有关json脚本的一些概念,我们知道它是一种对文本格式进行处理的模块,在大多数的情况下,它使用的是utf-8编码,而pickle使用的是一个二进制序列,json是一种我们可以读懂的,而pickle不可以供人类读懂 。json可以在python外是可互操作和广泛使用的,而pickle只能供python使用 。在一般的情况下,json表示的是一个内置的字迹,没有对类进行定义,pickle在python中则包含了大量的类型 。
二、pickle库的应用
在这个库的应用中,下面简单的给大家介绍两种用法 。
1、dumps
这个函数,它可以将Python中的一个对象进行二进制的转换,并且将这个值进行返回,具体的语法如下:
dumps(obj, protocol=None)我们可以知道,它包含了两个参数,其中obj表示的是一个Python对象,第二个参数表示的是一个转码协议,取值的范围在0-4之间 。举个例子:
import pickledic = {"name": "wang", "age": 30}h1 = pickle.dumps(dic) 将任意数据类型类型转换成二进制文件print(h1)2、dump
这个函数,跟上面函数相比,只少了一个字母,它也是将一个Python序列对象转换成一个二进制对象,但是它不会将结果进行返回,而是将它写入到一个文件当中,具体语法如下;
dump (obj, file,protocol=None)通过语法我们可以看到,它包含了三个参数,其中两个参数是与dumps是一样的使用,只有file这个参数表示的是将转换之后的数据指定到一个二进制文件中,而且打开的模式必须是“wb” 。
【Python中的Pickle库该如何使用?pickle与json之间有什么区别?】举个例子:
import pickleh1 = {"name": "wang", "age": 30}with open("HHH.pickle", "wb") as f:pickle.dump(h1, f)这段代码的意思就是对一个对象序列进行转换,如何将转换后的二进制文件存储在HHH.pickle文件里面 。
有关Python中的Pickle库该如何使用?pickle与json之间有什么区别?的内容就介绍到这里啦希望通过这篇文章的学习,能让你有所收获 。

    推荐阅读