Combining Zip Files into a Single Tar.GZ

  • Share this:

Code introduction


This function unpacks two zip files into a temporary directory and then creates a tar.gz file containing that directory.


Technology Stack : os, zipfile, shutil, tempfile, tarfile, gzip, io, contextlib

Code Type : File operation

Code Difficulty : Intermediate


                
                    
def zipfiles(file1, file2):
    import os
    import zipfile
    import shutil
    import tempfile
    import tarfile
    import gzip
    import io
    import contextlib

    # 创建一个临时目录来存储解压的文件
    temp_dir = tempfile.mkdtemp()

    # 解压file1
    with zipfile.ZipFile(file1, 'r') as zip_ref:
        zip_ref.extractall(temp_dir)

    # 解压file2
    with zipfile.ZipFile(file2, 'r') as zip_ref:
        zip_ref.extractall(temp_dir)

    # 创建一个tar.gz文件
    with tarfile.open('combined.tar.gz', 'w:gz') as tar:
        tar.add(temp_dir, arcname=os.path.basename(temp_dir))

    # 清理临时目录
    shutil.rmtree(temp_dir)

    return 'combined.tar.gz'