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

利用tar_open()函数在Python中实现文件的打包和解包操作

发布时间:2024-01-05 04:58:54

tarfile 模块是 Python 提供的对 tar 文件的操作模块,通过该模块可以实现文件的打包和解包操作。使用 tarfile 模块的 tarfile.open() 函数可以打开或创建一个 tar 文件对象,然后可以使用 add() 方法向 tar 文件中添加文件,或使用 extractall() 方法从 tar 文件中解包文件。

下面是一个使用 tarfile.open() 函数实现文件的打包和解包操作的例子:

打包文件:

import tarfile

def create_tarfile(file_list, output_file):
    with tarfile.open(output_file, "w:gz") as tar:
        for file in file_list:
            tar.add(file)
    print("文件打包完成!")

file_list = ["file1.txt", "file2.txt", "file3.txt"]
output_file = "archive.tar.gz"
create_tarfile(file_list, output_file)

上述代码中,我们定义了一个 create_tarfile() 函数,接受一个文件列表和一个输出文件名作为参数。在函数内部,我们使用 tarfile.open() 函数创建了一个 tar 文件对象,并指定了"w:gz"模式的打开方式,表示以 gzip 压缩格式写入文件。然后,我们使用 add() 方法将文件列表中的文件添加到 tar 文件中,并最终关闭 tar 文件对象。

解包文件:

import tarfile

def extract_tarfile(input_file, output_path):
    with tarfile.open(input_file, "r:gz") as tar:
        tar.extractall(output_path)
    print("文件解包完成!")

input_file = "archive.tar.gz"
output_path = "./output"
extract_tarfile(input_file, output_path)

上述代码中,我们定义了一个 extract_tarfile() 函数,接受一个输入文件名和一个输出路径作为参数。在函数内部,我们使用 tarfile.open() 函数创建了一个 tar 文件对象,并指定了"r:gz"模式的打开方式,表示以 gzip 压缩格式读取文件。然后,我们使用 extractall() 方法将 tar 文件中的文件解包到指定的输出路径中,并最终关闭 tar 文件对象。

通过以上的例子,我们可以很方便地使用 tarfile 模块实现文件的打包和解包操作。