如何使用Python创建tar文件?

如何使用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文件的文件名。

示例

下面是创建tar文件的示例代码:

# 输入模块
import tarfile

# 声明文件名
name_of_file= "TutorialsPoint.tar"

# 以写入模式打开文件
file= tarfile.open(name_of_file,"w")

# 关闭文件
file.close()

输出

输出结果是以“TutorialsPoint”命名的tar文件。

示例

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

# 输入模块
import tarfile

# 声明文件名
name_of_file= "TutorialsPoint.tar"

# 以写入模式打开文件
file= tarfile.open(name_of_file,"w")

# 向tar文件中添加其他文件
file.add("sql python create table.docx")
file.add("trial.py")
file.add("Programs.txt")

# 关闭文件
file.close()   

输出

输出结果是以“TutorialsPoint”命名的tar文件。向add()方法中传递文件名,即可将文件添加到tar文件中。

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

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

示例

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

import os
import tarfile

#创建tar文件
File = tarfile.open("TutorialsPoint.tar", 'w')
files = os.listdir(".")
for x in files:
   File.add(x)

#列出tar文件中的文件
for x in File.getnames():
   print ("已添加文件 %s" % x)
File.close()

输出

我们可以看到以下输出以及tar文件的创建:

已添加文件 desktop.ini
已添加文件 How to create a tar file using Python.docx
已添加文件 Microsoft Edge.lnk
已添加文件 prateek
已添加文件 prateek/Prateek_Sarika.docx
已添加文件 prateek/sample (no so good just follow the template).docx
已添加文件 untitled.py
已添加文件 ~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文件。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程