美文网首页
Python解压各种压缩文件总结

Python解压各种压缩文件总结

作者: 阙馨妍子 | 来源:发表于2020-06-24 16:06 被阅读0次

    工作中经常遇到需要解压各种压缩包的接口需求,包括.tar、.tar.gz、.zip、.rar包,为了避免每次都得重新谷歌,试错调错,我将各种解压的python代码整理出来,下次可以直接拿过来用,建议小伙伴们收藏。

    import tarfile
    import zipfile
    import rarfile
    
    
    def uncompress(src_file, dest_dir):
        """解压各种类型的压缩包
    
        :param src_file: 你要解压的压缩包文件
        :type src_file: file
        :param dest_dir: 你要解压到的目标路径
        :type dest_dir: str
        """
    
        file_name, file_type = os.path.splitext(src_file.filename)
    
        try:
            if file_type == '.zip':
                # 需要安装zip包:pip install zipp
                zip_file = zipfile.ZipFile(src_file)
                for names in zip_file.namelist():
                    zip_file.extract(names, dest_dir)
                zip_file.close()
    
            elif file_type == '.rar':
                # 需要安装rar包:pip install rarfile
                rar = rarfile.RarFile(src_file)
                os.chdir(dest_dir)
                rar.extractall()
                rar.close()
    
            else:
                # file_type == '.tgz' or file_type == '.tar' or file_type == '.gz'
                # Python自带tarfile模块
                tar = tarfile.open(fileobj=src_file)
                for name in tar.getnames():
                    tar.extract(name, dest_dir)
                tar.close()
    
        except Exception as ex:
            return False
        return True
    

    调用示例:

    if __name__ == '__main__':
    
        dest_dir = '你要解压到的目标路径'
    
        with open('你要解压的压缩包文件路径', 'rb') as src_file:
            result = uncompress(src_file, dest_dir)
    

    注意:liunx解压rar包,需要安装unrar:

    $ sudo apt-get install unrar
    

    主页更多干货,欢迎大家关注我,如果本文对你有帮助,记得点个赞~

    相关文章

      网友评论

          本文标题:Python解压各种压缩文件总结

          本文链接:https://www.haomeiwen.com/subject/mlnrfktx.html