欢迎访问宙启技术站
智能推送

Python中解压缩文件的函数

发布时间:2023-06-15 00:43:47

Python是一种强大的编程语言,可以用于解压缩各种类型的文件,包括zip、gzip、tar等格式的文件。Python提供了许多内置函数和模块来简化解压缩操作,这些函数和模块使得解压缩任务变得更加容易和高效。

下面我们将介绍Python中一些常用的解压缩文件的函数和模块。

一、解压Zip文件

Python提供了zipfile模块用于解压zip压缩包,这个模块提供了许多操作zip文件的方法,包括读取、添加和解压zip文件。

使用ZipFile模块的extractall()函数来解压缩zip文件,该函数将整个zip文件解压到指定的目录。

import zipfile

import os

def unzip_file(zip_file_path, output_folder_path):

    """解压缩zip文件"""

    # 打开zip文件

    with zipfile.ZipFile(zip_file_path, 'r') as zip_file:

        # 解压到指定目录

        zip_file.extractall(output_folder_path)

zip_file_path = 'example.zip'  # 压缩文件路径

output_folder_path = './'  # 输出目录

unzip_file(zip_file_path, output_folder_path)

二、解压gzip文件

Python提供了gzip模块用于解压gzip文件,这个模块提供了操作gzip文件的函数和方法,比如说gzip.open()、gzip.compress()、gzip.decompress()等。

使用gzip模块的GzipFile类的extractall()函数来解压缩gzip文件,该函数将整个gzip文件解压到指定的目录。

import gzip

import shutil

def ungzip_file(gzip_file_path, output_folder_path):

    """解压缩gzip文件"""

    # 打开gzip文件

    with gzip.GzipFile(gzip_file_path, 'rb') as gzip_file:

        # 解压到指定目录

        with open(output_folder_path, 'wb') as out_file:

            shutil.copyfileobj(gzip_file, out_file)

gzip_file_path = 'example.gz'  # gzip文件路径

output_folder_path = 'example.txt'  # 输出路径

ungzip_file(gzip_file_path, output_folder_path)

三、解压Tar文件

Python提供了tarfile模块用于解压tar文件,这个模块提供了许多操作tar文件的方法,包括读取、添加和解压tar文件。

使用TarFile类的extractall()函数来解压缩tar文件,该函数将整个tar文件解压到指定的目录。

import tarfile

import os

def untar_file(tar_file_path, output_folder_path):

    """解压缩tar文件"""

    # 打开tar文件

    with tarfile.TarFile(tar_file_path, 'r') as tar_file:

        # 解压到指定目录

        tar_file.extractall(output_folder_path)

tar_file_path = 'example.tar'  # tar文件路径

output_folder_path = './'  # 输出目录

untar_file(tar_file_path, output_folder_path)

总结

以上就是Python中解压缩文件的一些常用函数和模块介绍,使用这些函数和模块可以大大简化文件解压缩的工作。如果您想要处理更多更复杂的文件格式,可以查看Python官方文档中的文件处理模块。