0
使用zipfile
存档data
词典:如何归档二进制数据
import os, sys, cPickle, zipfile
data = {1: 'one'}
pfile = r'c:\temp\myPickle.p'
cPickle.dump(data, open(pfile, "wb"))
zfilename = r'c:\temp\myArchive.zip'
zfile = zipfile.ZipFile(zfilename, "w", zipfile.ZIP_DEFLATED)
zfile.write(pfile, os.path.basename(pfile))
zfile.close()
这种方法会导致两个文件的本地驱动器上:一个是泡菜,另一个是拉链。 若要腌data
zip文件需要予以取消封存:
fh = open(zfilename, 'rb')
z = zipfile.ZipFile(fh)
for each in z.namelist():
z.extract(each, r'c:\temp')
fh.close()
如何简化流程?
[ZipFile.open](https://docs.python.org/3/library/zipfile.html#zipfile.ZipFile.open),[ZipFile.read](HTTPS://docs.python .org/3/library/zipfile.html#zipfile.ZipFile.read),[ZipFile.writestr](https://docs.python.org/3/library/zipfile.html#zipfile.ZipFile.writestr) – spectras
from一些快速的谷歌搜索,我发现你可能需要的功能:'保存= pickle.dumps(数据)'转储产生一个字符串。 zipfile具有.writestr()将字符串转换为zip。这种方式只有一个文件。 – Nullman