如何使用 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() 方法

下面是一个使用 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+ 次浏览

开启你的职业生涯

完成课程获得认证

开始学习
广告