Python3.5中Json与pickle如何实现数据序列化与反序列化操作(json,pickle,python3.5,开发技术)

时间:2024-05-03 05:29:21 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :

具体如下:

1、Json:不同语言之间进行数据交互。

(1)JSON数据序列化:dumps()

JSON数据是一种轻量级的数据交换格式,序列化:将内存数据对象变成字符串。

#!/usr/bin/envpython#-*-coding:utf-8-*-#Author:ZhengzhengLiuimportjsoninfo={"name":"liu","age":25,"sex":"girl"}f=open("test.txt","w")print(json.dumps(info))f.write(json.dumps(info))f.close()

运行结果如下图:

Python3.5中Json与pickle如何实现数据序列化与反序列化操作

(2)JSON数据反序列化:loads()

#!/usr/bin/envpython#-*-coding:utf-8-*-#Author:ZhengzhengLiuimportjsonf=open("test.txt","r")data=json.loads(f.read())print(data['age'])

运行结果 :

25

(3)Json序列化——多次dumps;反序列化——不能实现多次loads

#!/usr/bin/envpython#-*-coding:utf-8-*-#Author:ZhengzhengLiuimportjsoninfo={"name":"liu","age":32}f=open("test.txt","w")f.write(json.dumps(info))#序列化info["age"]=21f.write(json.dumps(info))f.close()

运行结果:

Python3.5中Json与pickle如何实现数据序列化与反序列化操作

总结:Json只能处理一些简单的数据类型,如:列表、字典。字符串等。XML正在被Json逐步取代。

Json以后使用只dumps一次,loads一次即可。

2、pickle:通过pickle模块的序列化操作我们能够将程序中运行的对象信息保存到文件中去,永久存储;

通过pickle模块的反序列化操作,我们能够从文件中创建上一次程序保存的对象。

只能在Python语言中用,不能用于其他的语言。

(1)pickle数据序列化:

#!/usr/bin/envpython#-*-coding:utf-8-*-#Author:ZhengzhengLiuimportpickledefsayhi(name):print("hello",name)info={"name":"liu","age":32,"func":sayhi}f=open("test.txt","wb")print()f.write(pickle.dumps(info))f.close()

运行结果如下图:

Python3.5中Json与pickle如何实现数据序列化与反序列化操作

(2)pickle数据反序列化:

#!/usr/bin/envpython#-*-coding:utf-8-*-#Author:ZhengzhengLiuimportpickledefsayhi(name):print("hello",name)f=open("test.txt","rb")data=pickle.loads(f.read())print(data["func"]("liu"))

运行结果:

hello liu
None

 </div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
本文:Python3.5中Json与pickle如何实现数据序列化与反序列化操作的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:Android屏幕适配的示例分析下一篇:

10 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18