使用pickle存储数据dump 和 load实例讲解
更新时间:2019年12月30日 17:51:58 作者:mygodhome
今天小编就为大家分享一篇使用pickle存储数据dump 和 load实例讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
使用pickle模块来dump你的数据:对上篇博客里的sketch.txt文件:
import os import sys import pickle man=[ ] other=[ ] try: data=open('sketch.txt') for each_line in data: try: (role,line_spoken)=each_line.split(':',1) line_spoken=line_spoken.strip() if role == 'Man': man.append(line_spoken) elif role == 'Other Man': other.append(line_spoken) except ValueError: pass data.close() except IOError: nester.print_lol('The data file is missing!') try: with open('man_data.txt','wb') as man_file: pickle.dump(man,man_file) with open('other_data.txt','wb') as other_file: pickle.dump(other,other_file) except IOError as err: print('File error: ' + str(err)) except pickle.PickleError as perr: print('Pickling error: ' + str(perr))
打开man_data.txt,看结果:
€]q (X' Is this the right room for an argument?qX No you haven't!qX When?qX No you didn't!qX You didn't!qX You did not!qX= Ah! (taking out his wallet and paying) Just the five minutes.qX You most certainly did not!qX Oh no you didn't!q X Oh no you didn't!q X Oh look, this isn't an argument!qX No it isn't!qX It's just contradiction!q X It IS!qX You just contradicted me!qX You DID!qX You did just then!qX" (exasperated) Oh, this is futile!!qX Yes it is!qe.
把已存储在man_data.txt上的二进制文件,恢复成可以读的文件,存放在new_man.txt中:
import nester import os import sys import pickle man=[ ] other=[ ] new_man=[ ] try: data=open('sketch.txt') for each_line in data: try: (role,line_spoken)=each_line.split(':',1) line_spoken=line_spoken.strip() if role == 'Man': man.append(line_spoken) elif role == 'Other Man': other.append(line_spoken) except ValueError: pass data.close() except IOError: print_lol('The data file is missing!') try: # with open('man_data.txt','wb') as man_file: # pickle.dump(man,man_file) # with open('other_data.txt','wb') as other_file: # pickle.dump(other,other_file) with open('man_data.txt','rb') as man_file: new_man=pickle.load(man_file) except IOError as err: print('File error: ' + str(err)) except pickle.PickleError as perr: print('Pickling error: ' + str(perr))
查看结果:
RESTART: C:/Users/ThinkPad/AppData/Local/Programs/Python/Python36-32/chapter4-134-pickle.py >>> import nester >>> nester.print_lol(new_man) Is this the right room for an argument? No you haven't! When? No you didn't! You didn't! You did not! Ah! (taking out his wallet and paying) Just the five minutes. You most certainly did not! Oh no you didn't! Oh no you didn't! Oh look, this isn't an argument! No it isn't! It's just contradiction! It IS! You just contradicted me! You DID! You did just then! (exasperated) Oh, this is futile!! Yes it is! >>> import os >>> os.getcwd() 'C:\\Users\\ThinkPad\\AppData\\Local\\Programs\\Python\\Python36-32' >>>
若是想保存new_man.txt到磁盘文件,可以加:
with open('new_man.txt','w') as new_man_file: nester.print_lol(new_man,fn=new_man_file)
以上这篇使用pickle存储数据dump 和 load实例讲解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
在python的WEB框架Flask中使用多个配置文件的解决方法
所谓配置文件管理,就是在不改变源代码的前提下,拥有两套(甚至多套)配置文件,分别用于开发环境和生产环境,通过命令行选择配置文件2014-04-04
最新评论