专注于 JetBrains IDEA 全家桶,永久激活,教程
持续更新 PyCharm,IDEA,WebStorm,PhpStorm,DataGrip,RubyMine,CLion,AppCode 永久激活教程

Python解压各种压缩文件总结

工作中经常遇到需要解压各种压缩包的接口需求,包括.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

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

文章永久链接:https://tech.souyunku.com/28573

未经允许不得转载:搜云库技术团队 » Python解压各种压缩文件总结

JetBrains 全家桶,激活、破解、教程

提供 JetBrains 全家桶激活码、注册码、破解补丁下载及详细激活教程,支持 IntelliJ IDEA、PyCharm、WebStorm 等工具的永久激活。无论是破解教程,还是最新激活码,均可免费获得,帮助开发者解决常见激活问题,确保轻松破解并快速使用 JetBrains 软件。获取免费的破解补丁和激活码,快速解决激活难题,全面覆盖 2024/2025 版本!

联系我们联系我们