pickle(Python中的pickle模块是什么)

发布时间:2025-12-10 23:13:39 浏览次数:2

pickle模块:

属于python专有的模块,用法,功能与json类似。

常用方法:

dump(obj,fp):将对象以字符串的形式写入文件中。

load(fp):将数据从文件中读出,并返回(需要变量接收)。

dumps(obj):将对象转换成json字符串形式。

loads(str):将json字符串数据转换成原来的数据类型。

dump(obj,fp) | load(fp) 示例如下;

importpickle#将数据以json方式写入文件dict_1={"电影":"黄飞鸿","电视剧":"霍元甲"}file_write=open("pickle.txt",mode="wb")pickle.dump(dict_1,file_write)#将字典以字节的形式写入文件file_write.close()#从文件中以json方式读取数据file_read=open("pickle.txt",mode="rb")dict_2=pickle.load(file_read)#将文件中内容转换成原数据类型并返回file_read.close()print(dict_2.items(),type(dict_2))#打印转换后的数据

打印内容如下

dict_items([('电影','黄飞鸿'),('电视剧','霍元甲')])<class'dict'>

dumps(obj) | loads(obj) 示例如下;

importpickledict_1={"电影":"黄飞鸿"}pickle_byte=pickle.dumps(dict_1)#将字典转换成pickle字节print(pickle_byte)#将pickle字节转换成原数据dict_2=pickle.loads(pickle_byte)print(dict_2.items(),type(dict_2))#打印转换后的数据

打印内容如下

b'\x80\x03}q\x00X\x06\x00\x00\x00\xe7\x94\xb5\xe5\xbd\xb1q\x01X\t\x00\x00\x00\xe9\xbb\x84\xe9\xa3\x9e\xe9\xb8\xbfq\x02s.'dict_items([('电影','黄飞鸿')])<class'dict'>

与json不同的是pickle可以多次dump多次load,如下:

importpickledict_1={"电影":"黄飞鸿"}dict_3={"电视剧":"霍元甲"}dict_5={"动画片":"葫芦娃"}file_write=open("pickle.txt",mode="wb")pickle.dump(dict_1,file_write)#将dict_1以字节的形式写入文件pickle.dump(dict_3,file_write)#将dict_3以字节的形式写入文件pickle.dump(dict_5,file_write)#将dict_5以字节的形式写入文件file_write.close()file_read=open("pickle.txt",mode="rb")dict_2=pickle.load(file_read)#将文件中内容转换成原数据类型并返回dict_4=pickle.load(file_read)#将文件中内容转换成原数据类型并返回dict_6=pickle.load(file_read)#将文件中内容转换成原数据类型并返回file_read.close()print(dict_2.items(),type(dict_2))#打印转换后的数据print(dict_4.items(),type(dict_4))#打印转换后的数据print(dict_6.items(),type(dict_4))#打印转换后的数据

打印内容如下

dict_items([('电影','黄飞鸿')])<class'dict'>dict_items([('电视剧','霍元甲')])<class'dict'>dict_items([('动画片','葫芦娃')])<class'dict'>

小结:

1、json属于通用的模块,Java,JS等其它语言也支持。

pickle是Python私有的,只支持Python。

2、json将对象转换成json字符串类型。

pickle将对象转换成pickle字节类型。

3、json只能转换dict,list,tuple,str,int,float,bool值等简单数据类型

pickle能转换除了lamda以外的所有已知数据类型。

4、json虽然可以多次dump但是load会报错(这是最大的伤)。

pickle可以多次dump,多次load。

关于Python中的pickle模块是什么就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

pickle
需要做网站?需要网络推广?欢迎咨询客户经理 13272073477