Python压缩解压–tarfile

本文介绍了如何使用Python的tarfile模块进行文件打包、压缩和解压,包括判断文件类型、创建文件实例、提取文件信息以及生成压缩文件。重点讲解了tarfile.is_tarfile()、tarfile.open()、提取操作和文件打包的不同模式。

原文链接:http://www.juzicode.com/python-tutorial-zip-unzip-tarfile

gzip和lzma等模块只支持单个文件的压缩,如果要处理多个文件时,则需要先用tarfile将多个文件打包,再用gzip或lzma进行压缩,当然tarfile模块不仅支持文件的打包,也提供了接口支持直接对文件进行压缩。注意这里“打包”和“压缩”是2个不同的概念。

1、tarfile.is_tarfile()判断是否受支持格式

is_tarfile()可以用来判断文件是否是tarfile支持的文件格式:

#juzicode.com / VX:桔子code
import  tarfile
print('files.zip        :',tarfile.is_tarfile('files.zip'))
print('logo.png.gz      :',tarfile.is_tarfile('logo.png.gz'))
print('zipspec.txt.xz   :',tarfile.is_tarfile('zipspec.txt.xz'))
print('zipspec2.txt.lzma:',tarfile.is_tarfile('zipspec2.txt.lzma'))
print('zipspec.txt      :',tarfile.is_tarfile('zipspec.txt'))
print('logo.tar     :',tarfile.is_tarfile('logo.tar'))
print('logo.tar.gz  :',tarfile.is_tarfile('logo.tar.gz'))
print('logo.tar.bz2 :',tarfile.is_tarfile('logo.tar.bz2'))
print('logo.tar.xz  :',tarfile.is_tarfile('logo.tar.xz'))

运行结果:

files.zip        : False
logo.png.gz      : False
zipspec.txt.xz   : False
zipspec2.txt.lzma: False
zipspec.txt      : False
logo.tar     : True
logo.tar.gz  : True
logo.tar.bz2 : True
logo.tar.xz  : True

注:从这个例子可以看到同样后缀的文件,可能受tarfile支持,也可能不受tarfile支持,所以最好用is_tarfile()检查判断是否支持后再使用tarfile操作文件。在这个例子中 logo.png.gz, zipspec.txt.xz , zipspec2.txt.lzma的这几个文件是使用gzip(Python进阶教程m17b–压缩解压–gzip)和lzma(Python进阶教程m17c–压缩解压–lzma)直接压缩生成的文档,可以看到这种方式生成的压缩文档并不被tarfile支持。

2、tarfile.open()创建文件实例tf

<
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值