利用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 模块实现文件的打包和解包操作。
