大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
创新互联www.cdcxhl.cn八线动态BGP香港云服务器提供商,新人活动买多久送多久,划算不套路!
网站制作、网站建设介绍好的网站是理念、设计和技术的结合。创新互联拥有的网站设计理念、多方位的设计风格、经验丰富的设计团队。提供PC端+手机端网站建设,用营销思维进行网站设计、采用先进技术开源代码、注重用户体验与SEO基础,将技术与创意整合到网站之中,以契合客户的方式做到创意性的视觉化效果。这篇文章将为大家详细讲解有关Python中的pickle模块是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
pickle模块:
属于python专有的模块,用法,功能与json类似。
常用方法:
dump(obj,fp):将对象以字符串的形式写入文件中。
load(fp):将数据从文件中读出,并返回(需要变量接收)。
dumps(obj):将对象转换成json字符串形式。
loads(str):将json字符串数据转换成原来的数据类型。
dump(obj,fp) | load(fp) 示例如下;
import pickle # 将数据以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([('电影', '黄飞鸿'), ('电视剧', '霍元甲')])
dumps(obj) | loads(obj) 示例如下;
import pickle dict_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([('电影', '黄飞鸿')])
与json不同的是pickle可以多次dump多次load,如下:
import pickle dict_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([('电影', '黄飞鸿')])dict_items([('电视剧', '霍元甲')]) dict_items([('动画片', '葫芦娃')])
小结:
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模块是什么就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。