Python_44pickle模块序列化与json模块

1、例子1
import pickle
account={10000:{'username':'zhangsan','password':'123','balance':15000,'phone':'1234567','bankcard':{'ICBC':'123456','ABC':'456778'}},
10001:{'username':'lisi','password':'123','balance':15000,'phone':'1234567','bankcard':{'ICBC':'1234567','ABC':'4567789'}}
}
f=open('D:\\account.db','wb')
f.write(pickle.dumps(account)) #‘wb’格式的文件操作; 文件里边只能字节格式; 将字典转换为字节格式会出错,用pickle就可以将字典转换为字典格式 你想什么格式就什么格式 ; 这时候如果写入对象直接是字典,未经处理,则会报错
f.close()

2、以用户信息被修改的例子

import pickle
f_account=open('D:\\account.db','rb')
account_dic=pickle.loads(f_account.read()) #pickle就是序列化,你想怎样就怎样 ;将取出来的数据直接放到一个新的字典里
account_dic[10001]['balance']+=500 #模拟扣钱操作 扣完钱接下来再写入数据库中
print (account_dic[10001]['balance'])
f_account.close()
#将字典里的数据操作完之后写入到数据库文件里
f_accw=open('D:\\account.db','wb')
f_accw.write(pickle.dumps(account_dic))
f_accw.close()

3、pickle下的方法

dump-------pickle.dump(account_dic,f_accw)

dumps------f_accw.write(pickle.dumps(account_dic))

load------account_dic=pickle.load(f_account)

loads-------account_dic=pickle.loads(f_account.read())

 

5、json模块的用法

json模块与pickle模块是一样的用法,但是转换结果是都是字符串格式的  pickle是融合各种格式  慢慢摸索

pickle只在Python中支持 ;  JSON支持不同语言  但是功能不太完善   

 

posted on 2018-03-27 16:58  JuGooLar  阅读(121)  评论(0编辑  收藏  举报

导航