python pickle模块,pip安装json模块
数据的序列化和反序列化是常见的数据操作。Python为开发者提供了两个实现数据序列化的模块,分别是json模块和pickle模块。这两个模块的主要区别如下:
Json是文本序列化格式,pickle是二进制序列化格式;
Json可以直观阅读,pickle不行;
Json具有互操作性,广泛应用于Python系统之外,而pickle是Python特有的;
默认情况下,json只能表示Python内置类型的子集,而不是自定义类;
但是pickle可以表示大量的Python数据类型。
推荐学习:Python视频教程
Json 模块
Json是一种轻量级的数据交换格式。由于其需要传输的数据量小,易于解析,被广泛应用于各种系统之间的交互操作中,作为一种数据格式来传输数据。它包含几个常用的函数,如下所示:
dumps()函数
dumps()函数可以将Python对象编码成Json字符串。例如:
#
字典转换成json字符串且guarantee _ ASCII=false后,可以识别中文,每隔4个空格显示indent=4。
导入json
d={
小明 3360 {
性别 : 男性:
地址 : 上海:
年龄: 26
},
小红3360 {
性别 : 女性:
地址 : 上海:
年龄: 24
},
}
print(json.dumps(d,确保_ascii=False,indent=4))
#执行结果:{
小明 3360 {
性别 : 男性:
地址 : 上海:
年龄: 26
},
小红3360 {
性别 : 女性:
地址 : 上海:
年龄: 24
}
}dump()函数
dump()函数可以将Python对象编码成json字符串,自动写入文件,不需要单独写文件。例如:
#
字典被转换成json字符串而不写文件,自动转换的json字符串被写入 users.json 文件
导入json
d={
小明 3360 {
性别 : 男性:
地址 : 上海:
年龄: 26
},
小红3360 {
性别 : 女性:
地址 : 上海:
年龄: 24
},
}#
打开名为“users.json”的空文件
fw=open(users.json , w ,编码=utf-8 )
json.dump(d,fw,确保_ascii=False,indent=4)loads()函数
loads()函数可以将json字符串转换为Python数据类型。例如:
#
这是users.json文件{
小的
明": {
"sex": "男",
"addr": "上海",
"age": 26
},
"小红": {
"sex": "女",
"addr": "上海",
"age": 24
}
}
#!/usr/bin / python3# 把json串变成python的数据类型
import json# 打开‘ users.json’ 的json文件
f = open('users.json', 'r', encoding = 'utf-8')# 读文件
res = f.read()
print(json.loads(res))
# 执行结果: {
'小明': {
'sex': '男',
'addr': '上海',
'age': 26
},
'小红': {
'sex': '女',
'addr': '上海',
'age': 24
}
}load()函数
load()跟loads()功能相似,load()函数可以将 json 字符串转换成 Python 数据类型,不同的是前者的参数是一个文件对象,不需要再单独读此文件。例如:
#
Pickle 模块
Pickle 模块与 Json 模块功能相似,也包含四个函数,即 dump()、dumps()、loads() 和 load(),它们的主要区别如下:
dumps 和 dump 的区别在于前者是将对象序列化,而后者是将对象序列化并保存到文件中。loads 和 load 的区别在于前者是将序列化的字符串反序列化,而后者是将序列化的字符串从文件读取并反序列化。
dumps()函数
dumps()函数可以将数据通过特殊的形式转换为只有python语言认识的字符串,例如:
import pickle# dumps功能
dump()函数
dump()函数可以将数据通过特殊的形式转换为只有python语言认识的字符串,并写入文件。例如:
# dump功能
写入成功
loads()函数
loads()函数可以将pickle数据转换为python的数据结构。例如:
# loads功能
load()函数
load()函数可以从数据文件中读取数据,并转换为python的数据结构。例如:
# load功能with open('test.txt', 'rb') as f:
本文来自 python教程 栏目,欢迎学习!以上就是Python中Json模块和Pickle模块的使用的详细内容,更多请关注盛行IT软件开发工作室其它相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。