使用pickle存儲(chǔ)數(shù)據(jù)dump 和 load實(shí)例講解
使用pickle模塊來(lái)dump你的數(shù)據(jù):對(duì)上篇博客里的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))
打開(kāi)man_data.txt,看結(jié)果:
€]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.
把已存儲(chǔ)在man_data.txt上的二進(jìn)制文件,恢復(fù)成可以讀的文件,存放在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))
查看結(jié)果:
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到磁盤(pán)文件,可以加:
with open('new_man.txt','w') as new_man_file:
nester.print_lol(new_man,fn=new_man_file)
以上這篇使用pickle存儲(chǔ)數(shù)據(jù)dump 和 load實(shí)例講解就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
三步實(shí)現(xiàn)Django Paginator分頁(yè)的方法
這篇文章主要介紹了三步實(shí)現(xiàn)Django Paginator分頁(yè)的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-06-06
在python的WEB框架Flask中使用多個(gè)配置文件的解決方法
所謂配置文件管理,就是在不改變?cè)创a的前提下,擁有兩套(甚至多套)配置文件,分別用于開(kāi)發(fā)環(huán)境和生產(chǎn)環(huán)境,通過(guò)命令行選擇配置文件2014-04-04
基于pytorch 預(yù)訓(xùn)練的詞向量用法詳解
今天小編就為大家分享一篇基于pytorch 預(yù)訓(xùn)練的詞向量用法詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-01-01

