用于序列化的模块python
Json模块提供了四个功能:dumps、dump、loads、loadjson
#!/usr/bin/env python3 # -*- coding:utf-8 -*- info = {"name":"wuzun", "age":28, "company":"北京...计算机科技有限公司"} with open('info.txt','w', encoding='utf-8') as f: f.write(json.dumps(info)) with open('info.txt','r', encoding='utf-8') as f: # info = json.loads(f.read()) info = json.load(f) print('type info:', type(info)) print(info) print(info["company"])
用于序列化的模块spa
pickle模块提供了四个功能:dumps、dump、loads、loadcode
#!/usr/bin/env python3 # -*- coding:utf-8 -*- import pickle def func1(): print('hello dage') # info = { # 'name':"wuzun", # 'age':28, # 'func': func1 # } # with open('info.txt', 'wb') as f: # f.write(pickle.dumps(info)) with open('info.txt','rb') as f: info = pickle.load(f) print('type info:', type(info)) print(info) info['func']()
shelve模块是一个简单的k,v将内存数据经过文件持久化的模块,能够持久化任何pickle可支持的python数据格式blog
#!/usr/bin/env python3 # -*- coding:utf-8 -*- mport shelve d = shelve.open('shelve_test') #打开一个文件 class Test(object): def __init__(self,n): self.n = n t = Test(123) t2 = Test(123334) name = ["alex","rain","test"] d["test"] = name #持久化列表 d["t1"] = t #持久化类 d["t2"] = t2 d.close()