# -*- coding:utf-8 -*-
import pickle
import json
class Student():
def __init__(self,name,age,sex):
self.name=name
self.age=age
self.sex=sex
def StuToJson(std):
return {
'name':std.name,
'age':std.age,
'sex':std.sex
}
def JsonToStu(std):
return Student(std['name'],std['age'],std['sex'])
def testpickle(path):
s="My name is Joannes."
ps=pickle.dumps(s)
with open(path,'wb') as f:
pickle.dump(s,f)
print(ps)
def testunpickle(path):
s="My name is Joannes"
ps=pickle.dumps(s)
_ps=pickle.loads(ps)
print(_ps)
with open(path,'rb') as f:
ps_=pickle.load(f)
print(ps_)
def testjsonpickle():
s=Student("Joannes",'12','male')
_s=json.dumps(s,default=StuToJson)
print(_s)
s_=json.loads(_s,object_hook=JsonToStu)
print(s_)
def main():
path="./data/pickle.txt"
print("---------------------------------------------")
testpickle(path)
print("---------------------------------------------")
testunpickle(path)
print("---------------------------------------------")
testjsonpickle()
print("-------------------END-----------------------")
if __name__=="__main__":
main()