tarfile读⽂件python_使⽤Python读写tar存档⽂件(tarfile)“ tar”实⽤程序最初是为UNIX操作系统引⼊的。其⽬的是将多个⽂件收集在⼀个通常称为tarball的单个存档⽂件中,这使分发⽂件变得容易。Python标准库的tarfile模块中的函数可帮助创建tar存档并根据需要从tarball中提取。可以使⽤gzip,bz2和lzma压缩或完全不压缩来构建档案。
此模块中定义的主要功能是main()使⽤完成写⼊tar⽂件或从中读取⽂件的功能。
打开()
此函数返回与⽂件名相对应的TarFile对象,该⽂件名作为参数提供给它。该函数需要另⼀个名为mode的参数,默认情况下为'r'表⽰⽆压缩。其他模式如下序号模式与动作1'r'或'r:*'
打开以透明压缩⽅式阅读。
2'r:'
打开后⽆需压缩即可阅读。
3'r:gz'
打开以使⽤gzip压缩进⾏阅读。
4'r:bz2'
打开以使⽤bzip2压缩进⾏读取。
5'r:xz'
以lzma压缩打开以供阅读。
6'x'或'x:'
专门创建不压缩的tarfile。
7'x:gz'
⽤gzip压缩创建⼀个tarfile。
8'x:bz2'
创建具有bzip2压缩的tarfile。
9'x:xz'
创建具有lzma压缩的tarfile。
10'a'或'a:'
打开以进⾏不压缩的追加。
11'w'或'w:'
打开以进⾏未压缩的写⼊。
12'w:gz'
打开以进⾏gzip压缩编写。
13'w:bz2'
打开以进⾏bzip2压缩写⼊。
14'w:xz'
为lzma压缩写打开。
该模块定义了TarFile类。代替open()函数,可以通过调⽤构造函数实例化TarFile对象。
TarFile()
该构造函数还需要⼀个⽂件名和模式参数。模式参数的可能值如上 。
此类中的其他⽅法如下
加()
此⽅法将⽂件添加到存档。该⽅法需要⼀个名称,该名称可以是⽂件,⽬录,符号链接,快捷⽅式等的名称。默认情况下,递归添加⽬录。为防⽌递归加法,请将递归参数设置为False。
添加⽂件()
此⽅法将TarInfo对象添加到存档中。
提取所有()
如果未明确提供任何其他路径,则此⽅法将存档的所有成员提取到当前路径。
提取()
此⽅法将指定成员提取到给定路径,默认为当前路径。
以下⽰例打开⼀个使⽤gzip算法压缩的tar⽂件,并在其中添加⽂件。>>> fp = tarfile.open("","w:gz")
>>> fp.add("")
>>> fp.close()
假设当前⼯作⽬录中存在“ ”⽂件,则将其添加到“ ”⽂件中。
以下代码从tar归档⽂件中提取⽂件,并提取所有⽂件(在这种情况下,仅存在于其中)并将它们放置在当前⽂件夹中。要验证结果,您可以删除或重命名当前⽂件夹中的“ ”。>>> fp = tarfile.open("","r:gz")
>>> fp.extractall()
>>> fp.close()
您会发现“ ”⽂件将出现在当前⽬录中。
要创建包含当前⽬录中所有⽂件的tar,请使⽤以下代码import tarfile, glob
>>> fp=tarfile.open('file.tar','w')
>>> for file in glob.glob('*.*'):
fp.add(file)
>>> fp.close()
python怎么读文件夹下的文件夹命令⾏界⾯
tar⽂件的创建和提取可以通过命令⾏界⾯来实现。例如,通过在命令窗⼝中执⾏以下命令,将“ ”⽂件添加到tar⽂件中
C:\python36 >python -m tarfile -c line.
可以使⽤以下命令⾏选项。-l或--list在tarfile中列出⽂件。
-c或--create从源⽂件创建tarfile。
-e或--extract如果未指定output_dir,则将tarfile提取到当前⽬录中。
-t或--test测试tarfile是否有效。
-v或--verbose详细输出。
以下命令⾏将在当前⽬录下的newdir⽂件夹中提取line.tar。C:\python36>python -m tarfile -e line.tar newdir/以下命令⾏将列出tar归档⽂件中的所有⽂件。C:\python36>python -m tarfile -l files.tar
这篇关于tarfile模块的⽂章解释了其中定义的类和函数。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。