作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢!
原链:http://www.cnblogs.com/vamei/archive/2012/09/15/2684781.html
笔记:
'''文本流 linux将内存中对象对应位置储存的数据,也就是二进制代码抓取出来,转换成文本流,这个过程叫做serialize,然后将文本流存入到文件中'''#对象转换成为文本流import pickle#define classclass bird(object): have_feather = True way_of_production = 'egg'summer = bird() #这里之前讲过,summer 是继承了bird 的属性picklestring = pickle.dumps(summer) #抓取 serialize object#将对象summer 转换成了字符串picklestrig(文本流)#作者说可以用文本存储方法,将字符串存储在文件import pickle#define classclass bird(object): hava_feather = True way_of_production = 'egg'summer = bird()fn = 'a.pkl'with open(fn, 'wb') as f: picklestring = pickle.dump(summer, f)#写入对象就能重建对象#读取文本,存储到字符串#使用pickle.loads(str),将字符串转换对象import pickleclass bird(object): have_feather = True way_of_production = 'egg'fn = 'a.pkl'with open(fn, 'rb') as f: summer = pickle.load(f) #读取文件,和重建对象print (summer)'''UnicodeDecodeError: 'gbk' codec can't decode byte 0x80 in position 0: illegal multibyte sequence解决办法1.FILE_OBJECT= open('order.log','r', encoding='UTF-8')解决办法2.FILE_OBJECT= open('order.log','rb')'''#cPickle包#cPickle是基于C语言编写的,速度是pickle包的1000倍import cPickle from pickle
posted on 2017-11-10 16:17 阅读( ...) 评论( ...)