在python代码中,有时需要对压缩包进行解压。常见的压缩包格式如下
类型 模块 说明 gz gizp 通常仅仅能压缩一个文件。与tar结合起来就能够实现先打包,再压缩。 tar tarfile linux系统下的打包工具。仅仅打包。不压缩 tgz gizp/tarfile 即tar.gz。先用tar打包,然后再用gz压缩得到的文件 zip zipfile 不同于gzip。尽管使用相似的算法,能够打包压缩多个文件。只是分别压缩文件。压缩率低于tar。 rar rarfile 打包压缩文件。最初用于DOS,基于window操作系统。
对于zip,python自带,不需要额外安装库
import zipfile def unzip(file_path, outpath): ## 一下子全部解压 # zipfile.ZipFile(file_path).extractall(outpath) ## zip_ = zipfile.ZipFile(file_path) names = zip_.namelist() for name in names: zip_.extract(name, outpath) zip_.close()
对与rar压缩包,需要安装库,安装命令如下
sudo apt install unrar
pip install rarfile
import rarfile def unrar(file_path, outpath): ## # rarfile.RarFile(file_path).extractall(outpath) ## rar_ = rarfile.RarFile(file_path) names = rar_.namelist() for name in names: rar_.extract(name, outpath) rar_.close()