什么是序列化,Python中json的load,loads,dump,dumps和pickle的load,loads,dump,dumps的区别

时间:2019-09-30
本文章向大家介绍什么是序列化,Python中json的load,loads,dump,dumps和pickle的load,loads,dump,dumps的区别,主要包括什么是序列化,Python中json的load,loads,dump,dumps和pickle的load,loads,dump,dumps的区别使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

我们把对象(变量)从内存中变成可存储或传输的过程称之为序列化

json就是一种序列化的传输手段

Python把一个字典序列化到一个文本文件中,使用json.dump或者dumps,如下:

import json
dic={'name':'ljj','age':18}
data=json.dumps(dic)
f=open('json_text','w')
f.write(data)
f.close()

或者如下:

import json
dic={'name':'ljj','age':18}

f=open('json_text2','w')
# data=json.dumps(dic)
# f.write(data)
json.dump(dic,f)
f.close()

dump与dumps的区别就是dumps需要自己将序列化的字典write到文件中,而dump内部已经帮我们做了这一步

从文本文件中读取,使用json.load或者loads,则如下:

import json
f = open('json_text','r')
data=f.read()
data=json.loads(data)
print(data['name'])

或者如下:

import json
f = open('json_text2','r')
# data=f.read()
data=json.load(f)
print(data['name'])

load与loads的区别就是loads需要自己将文件中的信息反序列化到内存中再read,而load内部已经帮我们做了这一步

原文地址:https://www.cnblogs.com/softtester/p/11612498.html