首先,在创建的第一个分卷文件 test.z01的前面加上 \x50\x4b\x07\x08 这个是分卷压缩的文件头(header),占4个字节。其实单个压缩文件本身 header 就有这个了,而分卷压缩的需要两个emmm。之后便是从单个大压缩文件文件test.zip中读取 "一个分卷大小 -4 个字节"的数据,写入test.zip.001中,如何接着读取一个分卷大小的数据,写入test.zip.002,以此类推。

import os
import random
import sys
import zipfiledef zip_by_volume(file_path, block_size):file_size = os.path.getsize(file_path) path, file_name = os.path.split(file_path) suffix = file_name.split('.')[-1] zip_file = file_path + '.zip'with zipfile.ZipFile(zip_file, 'w') as zf:zf.write(file_path, arcname=file_name)if file_size <= block_size:return zip_fileelse:fp = open(zip_file, 'rb')count = file_size // block_size 

Python实现分卷压缩相关推荐

  1. python解压文件_使用Python实现文件压缩和解压

    大家可能都熟悉.zip格式的文件.它可以把多个文件,压缩成一个文件.这在网络上传输时很有用,而且节省硬盘空间. 接下来,我们使用Python实现压缩和解压. 读取ZIP文件信息 要读取ZIP文件的内容 ...

  2. 2021-02-24 Python等比例压缩与质量处理图片

    Python等比例压缩与质量处理图片 一.Python PIL 1.在使用PIL image处理图像要获取高质量的关键地方是下面两点: 1.处理时要用 ANTIALIAS:2.保存时是要设置 qual ...

  3. 分卷压缩并解压 (线上服务器如何把很大的数据拷贝到另外一台服务器上)

    用法:split [选项]... [输入 [前缀]] 选项: -a, --suffix-length=N 指定后缀长度为N (默认为2) -b, --bytes=大小 指定每个输出文件的字节大小 -C ...

  4. [Issue Fixed]-分卷压缩解压:gzip: stdin: not in gzip format

    在解压一份MTK厂商给的code时,发现怎么都解压不了 test@test-pc:~/workspace/program/mtk-q$ tar xvzf ALPS-MP-Q0.MP1-V4.4.PRE ...

  5. zipfile不能解压分卷压缩的文件

    要解压*.zip,*.z01,*.z02等分卷压缩文件,要首先把所有的分卷文件压缩到一个压缩文件,在解压.

  6. c++创建文件_使用Python实现文件压缩和解压

    (点击上方快速关注并设置为星标,一起学Python) 来源:网络 大家可能都熟悉.zip格式的文件.它可以把多个文件,压缩成一个文件.这在网络上传输时很有用,而且节省硬盘空间. 接下来,我们使用Pyt ...

  7. 7z命令行参数详解--python暴破压缩文件命令必备

    7z.exe在CMD窗口的使用说明如下: 7-Zip (A) 4.57 Copyright (c) 1999-2007 Igor Pavlov 2007-12-06 Usage: 7za <co ...

  8. 用python的进行压缩文件

    用python的进行压缩文件 对于zipfile的用法很多地方已经讲的很详细了,例如:http://www.cnblogs.com/zhengyuxin/articles/1956178.html 一 ...

  9. python利用gzip压缩解压缩StringIO

    python利用gzip压缩解压缩StringIO When working with a data stream instead of a file, use the GzipFileclass d ...

  10. 用Python创建gzip压缩文件

    用Python创建gzip压缩文件 准备把所有文章中的图片链接全部更改到二级域名上.因为数据量比较大,为了方便修改,先将数据库内容导出为数据库脚本文件(后缀名为.sql),直接批量替换后再通过phpM ...

最新文章

  1. git初始化及关联远程仓库命令
  2. 关于BDD100k数据输入处理mask变为56*56
  3. JSP中EL表达式无效的问题
  4. 微服务架构---服务降级
  5. java 判断闰年和月份_java----根据输入的年月判断闰年和打印日历
  6. 机器学习算法总结--GBDT
  7. 研发团队资源成本优化实践 1
  8. 运行第一个node.js文件
  9. Smarty 入手学习教程
  10. 分表分库解决方案(mycat,tidb,shardingjdbc)
  11. JS function 函数基本定义方法
  12. 阿里云解决方案汇总,24种上云场景,20O+篇企业上云实践
  13. android 图片可以滚动条,Android仿即刻首页垂直滚动图,炫酷到底!
  14. SQL Server导出MDF数据库文件
  15. Java实现:冒泡排序
  16. PS教程:用Photoshop创建唯美月夜…
  17. 精工机械表 调整时间,日期和星期的方法
  18. 蒙特卡洛方法求圆周率
  19. oracle导入.dmp,oracle导入.dmp脚本
  20. 1-23 Socket编程

热门文章

  1. JavaScript之document对象获取元素
  2. XSS Filter Evasion Cheat Sheet 中文版
  3. Java基础梳理第二天03(继承、抽象类、多态)
  4. [GIS笔记] 闾国年:地理全息与全息GIS(未来的GIS)
  5. Epicor流水编号规则功能
  6. Unity3d 双阈值解决临界值跳跃的问题
  7. 阿里云IoT工业数据上云优化实践
  8. 如何彻底对chrome降级
  9. 9.mysql SQL面试题
  10. sis最新地址获取方法_SIS系统在制药行业内的运用—奥格经典案例