我这里举个使用cPickle的例子并使用gzip
import gzip
import cPickle
#
import numpy
import time
nums=[]
start = time.time()
with open('111.txt') as f:
for line in f:
#读取TXT中的数据
a=line.split()
nums+=a
sss=numpy.asarray(nums,dtype=int)
aa=time.time()-start
##读取和转换类型的时间为aa我这里测试的时间是不到3秒,27.2M的文件哦
print aa
#将类型换成元祖,否则保存速度会下降几十倍,有兴趣可以尝试下
sss2=tuple([sss])
p1=cPickle.dumps(sss2,2)
s=gzip.open('fff2.pkl.gz','wb')#要保存的文件路径,这里用了gzip,压缩文件
s.write(p1)
s.close()
print 'ok'
start=time.time()
u=gzip.open('fff2.pkl.gz','rb')#这里是读取,序列化后的文件,我这里测试只需要0.4秒多
aaa=cPickle.load(u)
print time.time()-start
保存结果如上图
111.txt 内容 如: 50 100 123 。。。0到255的数字