数据持久化-- json、pickle
1、json
把内存对象转换成字符串的形式就是序列化
把一个字符创转成对应的内存对象就是反序列
序列化作用持久化内存数据
json.dumps(data) 针对数据序列化
json.loads(f.read()) 针对数据序列化
json.dump(data) 针对数据序列化
json.load(f.read()) 针对数据序列化
1.1 json序列化
<1>
import json
data = {'name':'zs','age':26}
f = open('json.txt','w',encoding='utf-8')
f.write(json.dumps(data))
f.close()
<2>
import json
data = {'name':'zs','age':26,'sex':'men'}
f = open('json.txt','w',encoding='utf-8')
json.dump(data,f)
f.close()
1.2 json反序列化
<1>
import json
f = open('json.txt','r',encoding='utf-8')
data = json.loads(f.read())
print(data)
print(data['age'])
<2>
import json
f = open('json.txt','r',encoding='utf-8')
data = json.load(f)
print(data)
print(data['age'])
json从文件中取数据,仅能取一种类型,并且只能去一条记录,即dump和load的次数只能是1
json无法序列化函数---所有语言通用
pickle仅用于python语言,支持计划所有的数据类型