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

使用make_zipfile()函数在Python中实现批量压缩文件操作

发布时间:2023-12-29 12:39:20

在Python中,我们可以使用make_archive()函数来实现批量压缩文件操作。这个函数是shutil模块提供的一个方法,它可以在指定的目录中创建一个压缩文件,并将指定的目录下的所有文件和子目录添加到压缩文件中。

下面是一个使用make_archive()函数的示例代码:

import shutil

# 定义要压缩的目录路径
source_dir = '/path/to/source/directory'

# 定义要生成的压缩文件的路径和名称
output_filename = '/path/to/output/archive.zip'

# 使用make_archive()函数创建压缩文件
shutil.make_archive(output_filename, 'zip', source_dir)

在上面的示例中,我们首先指定要压缩的目录路径source_dir,然后定义生成的压缩文件的路径和名称output_filename。最后,使用make_archive()函数创建压缩文件,其中 个参数是生成的压缩文件的路径和名称,第二个参数是压缩文件的格式(这里使用zip格式),第三个参数是要压缩的目录路径。

当执行上述代码后,将会在指定的输出路径中生成一个名为archive.zip的压缩文件,其中包含了source_dir目录下的所有文件和子目录。

如果要批量压缩多个目录,可以将上述代码放在循环中,通过修改source_diroutput_filename参数的值来实现。例如,以下示例代码演示了如何批量压缩多个目录:

import shutil

# 定义要压缩的多个目录路径
source_dirs = ['/path/to/source/directory1', '/path/to/source/directory2', '/path/to/source/directory3']

# 循环遍历每个目录并压缩
for source_dir in source_dirs:
    # 定义要生成的压缩文件的路径和名称
    output_filename = '/path/to/output/archive_{}.zip'.format(source_dirs.index(source_dir)+1)

    # 使用make_archive()函数创建压缩文件
    shutil.make_archive(output_filename, 'zip', source_dir)

在上述示例中,我们定义了一个包含多个目录路径的列表source_dirs,然后使用循环遍历每个目录并压缩。通过修改output_filename的值,我们可以为每个压缩文件指定不同的名称。

总结:

通过使用make_archive()函数,我们可以在Python中实现批量压缩文件操作。我们只需指定要压缩的目录路径和生成的压缩文件的路径和名称,即可创建压缩文件。如果要批量压缩多个目录,我们可以将上述代码放在循环中,并根据需要修改参数的值。