在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()
Logo

更多推荐