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

Python中tarfile模块的实例应用:将多个文件夹打包成一个tar文件

发布时间:2023-12-19 02:05:16

在Python中,我们可以使用tarfile模块来创建、读取和操作tar文件。tarfile模块提供了一种简单方便的方式来将多个文件夹打包成一个tar文件。

下面是一个将多个文件夹打包成一个tar文件的示例代码:

import tarfile
import os

def make_tarfile(output_filename, source_dir):
    with tarfile.open(output_filename, "w:gz") as tar:
        for foldername, subfolders, filenames in os.walk(source_dir):
            for filename in filenames:
                filepath = os.path.join(foldername, filename)
                # 将文件添加到tar文件中
                tar.add(filepath)

# 测试代码
source_dir = "/path/to/source_dir"
output_filename = "/path/to/output.tar.gz"
make_tarfile(output_filename, source_dir)

在上述示例代码中,make_tarfile函数接受两个参数:output_filenamesource_diroutput_filename指定了打包后的tar文件的路径和名称,source_dir指定了要打包的文件夹的路径。

函数首先使用tarfile.open()函数创建一个tar文件对象,并使用"w:gz"模式打开文件,表示以gzip压缩格式写入文件。然后,使用os.walk()函数遍历source_dir目录下的所有文件和文件夹。对于每个文件,使用tar.add()函数将其添加到tar文件中。

最后,使用上述示例代码即可将source_dir目录下的所有文件夹和文件打包成一个名为output_filename的tar文件。

请注意,在实际使用中,你需要将/path/to/source_dir/path/to/output.tar.gz替换为你的实际文件夹路径和tar文件路径。

希望这个简短的解释可以帮助你理解如何使用tarfile模块将多个文件夹打包成一个tar文件。如果你还有任何问题,请随时提问!