如何使用Python对文件进行压缩与解压缩

本文介绍了Python处理压缩文件的方法,包括使用zipfile模块处理zip文件,tarfile模块处理tar.gz文件,以及如何在Python中解压rar和7z文件。通过示例代码展示了不同压缩格式的操作过程。
摘要由CSDN通过智能技术生成

前言
我们在日常工作中,除了会涉及到使用Python处理文本文件,有时候还会涉及对压缩文件的处理。

在这里插入图片描述

通常会涉及到的压缩文件格式有:

•rar:Windows 环境下用的比较多的压缩,比较著名的GUI工具是winrar

•tar: Linux系统下的打包工具,只打包,不压缩

•gz:即gzip,通常只能压缩一个文件。与tar结合起来就可以实现先打包,再压缩。

•tgz:即gz。先用tar打包,然后再用gz压缩得到的文件

•zip:不同于gzip,虽然使用相似的算法,可以打包压缩多个文件,不过分别压缩文件,压缩率低于tar

•7z:7zip压缩软件支持的格式,压缩效率较高。

当然除了使用Python外,你还可以选择使用压缩解压缩软件或命令手动进行处理。

zip文件

在这里插入图片描述

zipfile是Python里用来做zip格式编码的压缩和解压缩的module,zipfile里有两个非常重要的class:ZipFile和ZipInfo。ZipFile是主要的类,用来创建和读取zip文件,而ZipInfo是存储的zip文件的每个文件的信息。

示例代码:

Python学习交流Q群:906715085###
import os
import zipfile

#压缩def make_zip(source_dir, output_filename):   
 zipf = zipfile.ZipFile(output_filename, 'w')    
 pre_len = len(os.path.dirname
 (source_dir))    
 for parent, dirnames, filenames in
  os.walk(source_dir):        
  for filename in filenames:            
  print(filename)            
  pathfile = os.path.join(parent, filename)           
   arcname = pathfile[pre_len:].strip(os.path.sep)  # 相对路径            
   zipf.write(pathfile, arcname)        
   print()    
   zipf.close()

#解压缩
def
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值