(编辑:jimmy 日期: 2024/11/14 浏览:2)
使用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" (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"htmlcode">with open('new_man.txt','w') as new_man_file: nester.print_lol(new_man,fn=new_man_file)以上这篇使用pickle存储数据dump 和 load实例讲解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。