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