当前位置: 首页 > article >正文

利用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为解压密码。

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

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

import zipfile

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

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

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


http://www.kler.cn/a/152678.html

相关文章:

  • 国际上有哪些比较出名的VOIP供应商
  • 计算两个经纬度之间的实际距离(Haversine公式)----c++
  • Python语言学习笔记之七(JOSN应用)
  • conda和pip常用命令整理
  • css加载会造成阻塞吗??
  • Linux 系统启动过程
  • Git常用命令#更改用户名
  • 软考:2024年软考高级:软件工程
  • windows11 phpstudy_pro php8.2 安装redis扩展
  • ChatGPT
  • Scanner常用知识点
  • Pytorch中的gather的理解和用法
  • Linux的基本指令(三)
  • java设计模式学习之【对象池模式】
  • 正则表达式(Regular Exprerssion)in Python
  • 2023全球数字贸易大赛-web3,区块链,诺威信,浪潮云,微众区块链,福建中科星泰,瓴羊区块链,联想-元宇宙,硅基智能-
  • 单元测试与白盒测试的区别
  • 【Linux】TCP套接字编程
  • Zookeeper(一)在WSL单机搭建Zookeeper伪集群
  • 【Rust】常见集合