展开全部
用 PyZipFile 方法很简陋。 是把 zip压缩包里面的文32313133353236313431303231363533e78988e69d8331333337383864件,除了要删除的文件以外,逐个读取出来,保存到新文件中。最后用新文件覆盖旧文件。# coding=utf-8
import zipfile
import
your_delet_file="你要删除的文件名"
old_zipfile='archive.zip' #新文件
new_zipfile='archve_new.zip' #新文件
zin = zipfile.ZipFile (old_zipfile, 'r') #读取对象
zout = zipfile.ZipFile (new_zipfile, 'w') #被写入对象
for item in zin.infolist():
buffer = zin.read(item.filename)
if (item.filename!= your_delet_file): #剔除要删除的文件
zout.writestr(item, buffer) #把文件写入到新对象中
zout.close()
zin.close()
#用新文件覆盖旧文件
shutil.move(new_zipfile,old_zipfile)
#PS: 代码我还没测试过。。。。请楼主自行测试吧。有问题再追问。