Python 压缩 zip

Python 压缩 zip

Python 压缩 zip

Zip是一种常用的文件压缩格式,可以将多个文件或文件夹压缩成一个zip文件,便于传输和存储。Python提供了一个内置的zipfile模块,可以让我们方便地创建和解压zip文件。在本文中,我们将学习如何使用Python来压缩文件夹并创建一个zip文件。

压缩文件夹

首先,我们需要导入zipfile模块来处理zip文件。然后,我们可以使用zipfile.ZipFile类来创建一个新的zip文件,并使用write()方法向其中添加文件。下面是一个简单的示例代码,演示了如何压缩一个名为”example_folder”的文件夹:

import zipfile
import os

def zip_folder(folder_path, output_path):
    with zipfile.ZipFile(output_path, 'w') as zipf:
        for root, dirs, files in os.walk(folder_path):
            for file in files:
                zipf.write(os.path.join(root, file), os.path.relpath(os.path.join(root, file), os.path.join(folder_path, '..')))

zip_folder('example_folder', 'example.zip')
Python

在上面的代码中,我们定义了一个zip_folder函数,接受两个参数:folder_path是要压缩的文件夹路径,output_path是生成的zip文件路径。我们使用os.walk函数遍历文件夹中的每个文件,并使用zipf.write方法将文件添加到zip文件中。

运行上面的代码后,将在当前目录下生成一个名为”example.zip”的zip文件,其中包含了”example_folder”文件夹中的所有文件。

添加文件到zip

除了压缩整个文件夹之外,我们还可以将单个文件添加到现有的zip文件中。这可以通过ZipFile类的write()方法实现。下面的示例代码演示了如何将一个名为”example.txt”的文件添加到上一步创建的”example.zip”文件中:

import zipfile

def add_file_to_zip(zip_path, file_path):
    with zipfile.ZipFile(zip_path, 'a') as zipf:
        zipf.write(file_path)

add_file_to_zip('example.zip', 'example.txt')
Python

在这段代码中,我们定义了一个add_file_to_zip函数,它接受两个参数:zip_path是要添加文件的zip文件路径,file_path是要添加的文件路径。我们在函数内使用ZipFile的’a’模式打开zip文件,这样可以追加新文件而不是创建一个新的zip文件。

运行上述代码后,我们将在”example.zip”文件中添加一个”example.txt”文件。

解压zip文件

除了压缩文件之外,zipfile模块还提供了解压zip文件的功能。通过使用ZipFile.extractall()方法,我们可以解压整个zip文件到指定目录。下面是一个示例代码,演示了如何解压”example.zip”文件到”extracted_folder”目录中:

import zipfile

def unzip_file(zip_path, output_path):
    with zipfile.ZipFile(zip_path, 'r') as zipf:
        zipf.extractall(output_path)

unzip_file('example.zip', 'extracted_folder')
Python

在上面的代码中,我们定义了一个unzip_file函数,用来解压zip文件。它接受两个参数:zip_path是要解压的zip文件路径,output_path是解压后文件的保存路径。我们在函数内使用ZipFile的’r’模式打开zip文件,并通过extractall()方法将所有文件解压到指定目录中。

运行上述代码后,将在当前目录下生成一个名为”extracted_folder”的文件夹,其中包含了”example.zip”中的所有文件。

总结

在本文中,我们学习了如何使用Python中的zipfile模块来压缩和解压zip文件。通过示例代码,我们演示了如何压缩一个文件夹,向已有的zip文件中添加文件,以及解压zip文件到指定目录。掌握这些技巧可以让我们在处理文件压缩和解压时更加便捷和灵活。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册