利用python实现文件压缩打包的功能

主要是利用了zipfile实现文件压缩打包,简单实例代码如下:

import zipfile

with zipfile.ZipFile("archive.zip",'w') as zipf:
    zipf.write("config.ini")
    zipf.write("test.py")

其中的模式 w表示如果没有该文件则创建该文件,如果有该文件则覆盖。

那么如果已经存在该压缩文件,现在想往该压缩文件里面追加文件,是否可以?

实际上肯定可以的,只需要将w改成a即可。

import zipfile

with zipfile.ZipFile("archive.zip",'a') as zipf:
    zipf.write("mylist.pkl")

需要注意的是,上面的代码实际上只执行了一个打包的功能,根本没有对文件进行压缩,所以打包之后的文件大小没有什么变化,这显然不是我想要的。

这就需要对ZipFile函数的具体参数有所了解

  • ZipFile(filename, mode='r', compression=ZIP_STORED, allowZip64=True):创建或打开Zip文件。filename为文件名,mode为打开文件的模式,compression为压缩模式,allowZip64为是否支持Zip64格式。
  • ZipFile.write(filename, arcname=None, compress_type=None):将文件写入Zip文件中。filename为文件名,arcname为写入Zip文件中的文件名,compress_type为压缩模式。
  • ZipFile.extractall(path=None, members=None, pwd=None):将Zip文件中的所有文件解压到指定目录下。path为解压目录,members为要解压的文件列表,pwd为解压密码。

按照上面的提示,将关键代码进行修改如下:

import zipfile

with zipfile.ZipFile("archive.zip",'a',compression=zipfile.ZIP_STORED, allowZip64=True) as zipf:
    zipf.write("mylist.pkl")

结果发现,外甥打灯笼--- 照舅(旧),对多个参数值进行尝试。

最终解决办法,请查看这个网址:利用python实现文件压缩打包的功能 | 老五笔记

  • 11
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值