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

在Python中使用zipfile()模块解压缩压缩文件的方法

发布时间:2023-12-30 13:51:02

在Python中,使用zipfile模块可以方便地解压缩和压缩文件。zipfile模块提供了ZipFile类,可以读取和写入ZIP文件。

下面是解压缩ZIP文件的基本步骤:

1. 首先,导入zipfile模块:

import zipfile

2. 创建ZipFile对象,指定要解压缩的ZIP文件的路径:

zip = zipfile.ZipFile('path/to/file.zip', 'r')

3. 调用extractall()方法解压缩ZIP文件的所有内容:

zip.extractall('path/to/destination')

可以通过传递一个可选的参数来指定解压缩的目标文件夹的路径。如果不指定该参数,ZIP文件将被解压缩到当前工作目录。

完整的代码示例:

import zipfile

def unzip_file(zip_path, dest_path):
    try:
        zip = zipfile.ZipFile(zip_path, 'r')
        zip.extractall(dest_path)
        print('解压缩完成!')
    except zipfile.BadZipFile:
        print('无效的ZIP文件!')

zip_path = 'path/to/file.zip'
dest_path = 'path/to/destination'

unzip_file(zip_path, dest_path)

在上面的示例中,unzip_file函数接受两个参数:zip_path表示要解压缩的ZIP文件的路径,dest_path表示解压缩的目标文件夹的路径。函数首先尝试打开ZIP文件,然后调用extractall()方法解压缩文件至目标文件夹。

现在我们来看一个压缩文件的例子:

import zipfile

def zip_files(file_paths, zip_path):
    try:
        with zipfile.ZipFile(zip_path, 'w', zipfile.ZIP_DEFLATED) as zip:
            for file in file_paths:
                zip.write(file)
        print('压缩完成!')
    except FileNotFoundError:
        print('文件不存在!')

file_paths = ['path/to/file1.txt', 'path/to/file2.txt']
zip_path = 'path/to/compressed.zip'

zip_files(file_paths, zip_path)

在上面的示例中,zip_files函数接受两个参数:file_paths表示要压缩的文件路径的列表,zip_path表示压缩文件的路径。函数首先创建一个ZipFile对象,然后使用with语句打开该对象以进行压缩,最后使用write()方法将文件逐个添加到压缩文件中。

通过使用zipfile模块的方法,我们可以方便地对ZIP文件进行解压缩和压缩操作。无论是解压缩还是压缩,zipfile模块都是一个有用的工具。