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

如何在Python中运行一个文件压缩任务

发布时间:2024-01-12 09:52:23

在Python中运行文件压缩任务可以使用 zipfile 模块来完成。以下是一个基本的方法来执行文件压缩任务的例子:

例子1:压缩一个文件

import zipfile

def compress_file(file_path, zip_path):
    # 创建一个ZipFile对象,指定压缩文件的路径和打开方式
    with zipfile.ZipFile(zip_path, 'w') as zipf:
        # 将文件添加到压缩文件中
        zipf.write(file_path, arcname=file_path)

# 定义文件路径和压缩文件路径
file_path = 'example.txt'
zip_path = 'example.zip'

# 压缩文件
compress_file(file_path, zip_path)

在上面的例子中,我们定义了 compress_file 函数,其中 file_path 是要压缩的文件的路径,zip_path 是压缩文件的路径。在函数内部,我们使用 zipfile.ZipFile 创建了一个 ZipFile 对象,并指定使用写入模式('w')。然后,我们使用 write 方法将要压缩的文件添加到压缩文件中,并使用 arcname 参数指定文件在压缩文件中的路径。

例子2:压缩一个文件夹

import zipfile
import os

def compress_folder(folder_path, zip_path):
    # 创建一个ZipFile对象,指定压缩文件的路径和打开方式
    with zipfile.ZipFile(zip_path, 'w') as zipf:
        # 遍历文件夹中的所有文件和子文件夹
        for root, _, files in os.walk(folder_path):
            for file in files:
                file_path = os.path.join(root, file)
                # 将文件添加到压缩文件中,使用相对路径
                arcname = file_path[len(folder_path) + 1:]
                zipf.write(file_path, arcname=arcname)

# 定义文件夹路径和压缩文件路径
folder_path = 'example_folder'
zip_path = 'example.zip'

# 压缩文件夹
compress_folder(folder_path, zip_path)

在上面的例子中,我们定义了 compress_folder 函数,其中 folder_path 是要压缩的文件夹的路径。在函数内部,我们使用 zipfile.ZipFile 创建了一个 ZipFile 对象,并指定使用写入模式('w')。然后,我们使用 os.walk 遍历文件夹中的所有文件和子文件夹,并使用 write 方法将每个文件添加到压缩文件中。使用 arcname 参数可以指定文件在压缩文件中的路径,我们使用相对路径来保持文件夹结构。

这是在Python中运行文件压缩任务的基本方法和示例。你可以根据自己的需求和具体的文件压缩任务进行适当的修改和扩展。