如何使用 Python 创建 tar 文件?


tar 文件中的 TAR 代表 Tape Archive Files(磁带归档文件)。tar 文件是归档文件,允许您将多个文件存储在一个文件中。开源软件使用 tar 文件进行分发。

tar 文件通常以 .tar 结尾,但在使用 gzip 等工具压缩后,它们的结尾为 tar.gz。

打开 Python tar 文件的各种文件模式

  • r − 通过打开读取 TAR 文件。
  • r − 打开时读取未压缩的 TAR 文件。
  • w 或 w: − 以未压缩方式打开 TAR 文件进行写入
  • a 或 a: − 以未压缩方式打开 TAR 文件进行追加。
  • r:gz − 打开已用 gzip 压缩的 TAR 文件以进行读取。
  • w:gz − 打开已用 gzip 压缩的 TAR 文件以进行写入。
  • r:bz2 − 打开已用 bzip2 压缩的 TAR 文件以进行读取。
  • w:bz2 − 打开已用 bzip2 压缩的 TAR 文件以进行写入。

使用 Python 创建 tar 文件

可以使用 Python 中的 tarfile 模块生成 tar 文件。在以写入模式打开文件后,可以向 tar 文件中添加更多文件。

使用 open() 方法

下面显示了一个创建 tar 文件的 Python 代码示例。在这里,我们使用 open() 方法创建了一个 tar 文件。这里的 open() 方法接受 "w" 以写入模式打开文件,以及作为其第一个参数生成的 tar 文件的文件名。

示例

以下是如何使用 open() 方法创建 tar 文件的示例:

#importing the module import tarfile #declaring the filename name_of_file= "TutorialsPoint.tar" #opening the file in write mode file= tarfile.open(name_of_file,"w") #closing the file file.close()

输出

作为输出,我们可以看到一个名为“TutorialsPoint”的 tar 文件被创建。

示例

注意 − 我们可以使用 add() 方法将文件添加到创建的 tar 文件中。示例如下:

#importing the module import tarfile #declaring the filename name_of_file= "TutorialsPoint.tar" #opening the file in write mode file= tarfile.open(name_of_file,"w") #Adding other files to the tar file file.add("sql python create table.docx") file.add("trial.py") file.add("Programs.txt") #closing the file file.close()

输出

作为输出,我们可以看到一个名为“TutorialsPoint”的 tar 文件被创建。要添加的文件的文件名作为输入传递给 add() 方法。

使用 os.listdir() 方法创建和列出文件

listdir() 方法返回目录中每个文件和文件夹的列表。

示例

以下是如何使用 os.listdir() 方法创建 tar 文件的示例:

import os import tarfile #Creating the tar file File = tarfile.open("TutorialsPoint.tar", 'w') files = os.listdir(".") for x in files: File.add(x) #Listing the files in tar for x in File.getnames(): print ("added the files %s" % x) File.close()

输出

除了创建 tar 文件之外,我们还获得了以下输出:

added the files desktop.ini
added the files How to create a tar file using Python.docx
added the files Microsoft Edge.lnk
added the files prateek
added the files prateek/Prateek_Sarika.docx
added the files prateek/sample (no so good just follow the template).docx
added the files untitled.py
added the files ~WRL0811.tmp

在 Python 中使用 tarfile 和 os.walk() 方法创建 tar 归档文件

要从目录构建 zip 归档文件,请使用 tarfile 模块。使用 os.walk 命令迭代地将目录树中的每个文件添加到归档文件中。

示例

以下是如何创建 tar 归档文件的示例:

import os import tarfile def tardirectory(path,name): with tarfile.open(name, "w:gz") as tarhandle: for root, dirs, files in os.walk(path): for f in files: tarhandle.add(os.path.join(root, f)) tardirectory('C:\Users\Lenovo\Downloads\Work TP','TutorialsPoint.tar.gz') tarfile.close()

输出

作为输出,我们可以看到一个名为“TutorialsPoint”的 tar 文件被创建。

更新于:2022 年 8 月 18 日

13K+ 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告