#序列化
info = {
"name":"zhuxianjun",
"age":30
}
f = open("test.text","w")
f.write(str(info))
f.close()
#反序列化
f = open("test.text","r")
data = eval(f.read())
f.close()
print(data['age'])
"""
'''
#通用的序列化和反序列化的方法:
#序列化
import json
info = {
"name":"zhuxianjun",
"age":30
}
f = open("test.text","w")
f.write(json.dumps(info))
f.close()
#反序列化
f = open("test.text","r")
data = json.loads(f.read())
f.close()
print(data['age'])
'''
'''
#-------序列化和反序列化案例:
#import json
import pickle #jaon只能处理简单的,pickle可以处理复杂的,所有的python数据类型
def sayhi(name):
print("hello",name)
info = {
"name":"zhuxianjun",
"age":30,
'func':sayhi
}
f = open("test.text","wb")
f.write(pickle.dumps(info))
f.close()
#反序列化
def sayhi(name):
print("hello",name)
print("hello2",name)
f = open("test.text","rb")
data = pickle.loads(f.read())
f.close()
print(data["func"]("sun"))
'''
'''
#序列化
import pickle
def sayhi(name):
print("hello",name)
info = {
"name":"zhuxianjun",
"age":30,
'func':sayhi
}
f = open("test.text","wb")
pickle.dump(info,f) #----等同于:f.write(pickle.dumps(info))
f.close()
#反序列化:
def sayhi(name):
print("hello",name)
print("hello2",name)
f = open("test.text","rb")
data = pickle.load(f) #---完全等同于:data = pickle.loads(f.read())
f.close()
print(data["func"]("sun"))
'''
#序列化---可以dump很多次,但不能load多次
import json
info = {
"name":"zhuxianjun",
"age":30
}
f = open("test.text","w")
f.write(json.dumps(info))
info['age']=33
f.write(json.dumps(info))
f.close()
#反序列化
f = open("test.text","r")
data = json.load(f.read())
f.close()
print(data)
python入门之序列化和反序列化
最新推荐文章于 2022-06-08 17:59:27 发布