本文共 1165 字,大约阅读时间需要 3 分钟。
python的pickle模块实现了基本的数据序列和反序列化。通过pickle模块的序列化操作我们能够将程序中运行的对象信息保存到文件中去,永久存储;通过pickle模块的反序列化操作,我们能够从文件中创建上一次程序保存的对象。
pickle.dump(obj, file, [,protocol]) # 文件写入pickle.load(file) # 文件读出
#coding=utf-8# 使用pickle模块读写二进制文件import pickledata = { 'a': [1, 2.0, 3, 4+6j], 'b': ('string', u'Unicode string'), 'c': None }def write(path): output = open(path, 'wb') ''' 写二进制文件需要使用'wb',因为二进制文件会出现'/n'换行符, 实际上是'0X0A',windows平台会自动将其变为两个字符'0X0D',实际文件长度会发生变化。 而'wb'二进制方式会使文件保持一个字符不变的写入。 ''' pickle.dump(data, output) output.close()def read(path): file = open(path, 'rb') # 'rb'与wb'同理 data1 = pickle.load(file) file.close() if data1 == data: return True else: return Falsewhile True: try: write('data.pkl') print(read('data.pkl')) break except: print 'Error'
如需转载与本人联系
此博客