在日常工作中,除了会涉及到使用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文件的每个文件的信息。
示例代码:
import os
import zipfile
# 压缩
def make_zip(source_dir, output_filename):
zipf = zipfile.ZipFile(output_filename, '