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 pickle
dic = {"name": "wang", "age": 30}
h1 = pickle.dumps(dic) 将任意数据类型类型转换成二进制文件
print(h1)

2、dump

这个函数,跟上面函数相比,只少了一个字母,它也是将一个Python序列对象转换成一个二进制对象,但是它不会将结果进行返回,而是将它写入到一个文件当中,具体语法如下;

dump (obj, file,protocol=None)

通过语法我们可以看到,它包含了三个参数,其中两个参数是与dumps是一样的使用,只有file这个参数表示的是将转换之后的数据指定到一个二进制文件中,而且打开的模式必须是“wb”。

举个例子:

import pickle
h1 = {"name": "wang", "age": 30}
with open("HHH.pickle", "wb") as f:
pickle.dump(h1, f)

这段代码的意思就是对一个对象序列进行转换,如何将转换后的二进制文件存储在HHH.pickle文件里面。

有关Python中的Pickle库该如何使用?pickle与json之间有什么区别?的内容就介绍到这里啦希望通过这篇文章的学习,能让你有所收获。

更多python相关文章请访问分类:python

【版权声明】本文图文出自大盘站@dapan.cc,转载请注明出处!