> 脚本语言 > python >
python第十八天 2017-05-21 15:22 出处:清屏网 人气:
学习内容:
json 模块,pickle模块,shelve模块
json 模块 序列化:
1 import json,pickle 2 3 info={ 4 'name':'a', 5 'age':34, 6 'func':'' 7 } 8 with open('text.txt','w') as f: 9 #f.write(json.dumps('test.txt'))#新建一文件用于存入序列化的数据 10 f.write(json.dumps(info))#序列化json 模块 反序列化(从另一个程序打开文件):
1 import json,pickle 2 with open('text.txt','r')as f: 3 4 fp=json.loads(f.read())#反序列化 5 #fp=json.load(f)# 效果与loads一样 6 print('\033[32;1m%s\033[0m'%fp)pickle模块 用法,方法与jsong 一样(不同的是,pickle可以存对象格式,如有函数可以存函数的对象属性):
1 def func1(): 2 print('1111111') 3 info2={ 4 'name':'a', 5 'age':34, 6 'func':func1 7 8 } 9 with open('test','wb') as f2: 10 f2.write(pickle.dumps(info2))# ===pickle.dump(info2,f2) 效果一样pickle模块 反序列化:
1 def func1(): 2 pass 3 4 with open('test','rb') as f2: 5 c=pickle.load(f2) 6 #c=pickle.loads(f2.read())#效果与loads一样 7 8 print(c)shelve模块(相当于可以多次ldump,和load):
shelve采用key与vaule对应的字典方式,通过文件对数据进行持久化--可以持久化任何pickle可支持的python数据格式:
1 import shelve 2 3 def func_1(name,age):#定义一个函数 4 print(name,age) 5 6 name=['a','b','c','d']#定义一个列表 7 age=[1,2,3,4] 8 9 d=shelve.open('test_3.txt')#用shelve来打开文件 10 11 #将各个对象存入文件 12 d['name']=name 13 d['age']=age 14 d['func']=func_1 15 d.close()shelve,反序列化:
1 import shelve 2 def func_1(name,age):#定义一个函数与shelve存入的函数名相同 3 print(age) 4 f=shelve.open('test_3.txt')#打开之前存入数据的文件 5 6 name=f['name']#提取出对应的数据name 7 print(name) 8 9 age=f['age']#提取出对应的数据age 10 func_1=f['func']#提取出对应的数据func_1 11 func_1(name,age)#提取出对应的数据分享给小伙伴们:
本文标签: python/">python
相关文章
发表评论愿您的每句评论,都能给大家的生活添色彩,带来共鸣,带来思索,带来快乐。
本类最热新闻