Python 如何创建tar文件
TAR文件表示磁带存档文件。 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
使用tarfile和os.walk()方法创建tar归档文件的Python
要将一个目录构建成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文件。