注:部分内容来自书籍或者网络,如有侵权,请联系删除。
一、使用tarfile库读取与创建压缩包
1.创建tar包
#以写的模式打开tar包得到tarfile对象,再使用对象的add方法将文件添加到tar包中
import tarfile
with tarfile.open('file.tar',mode='w') as out:
out.add('test.txt')
2.创建压缩包
tarfile的open函数,以“打开模式:压缩算法”的形式使用。
读取一个用gzip算法压缩的包
with tarfile.open('file.tar',mode='r:gz') as out:
创建一个用bzip2算法压缩的包
with tarfile.open('file.tar',mode='w:bz2') as out:
二、使用zipfile创建和读取压缩包
zipfile有一个Zipfile对象,使其得到的对象去读取压缩包的文件。
Zip常用的方法:
namelist:返回zip文件中的所有文件和文件夹的字符串列表
extract:从zip包中提取单个文件
extractall:从zip包中提取所有文件
1.读取zip包
import zipfile
test_zip = zipfile.Zipfile('test.zip')
test_zip.namelist()
2.创建zip包
import zipfile
test_zip = zipfile.Zipfile('test.zip')
test_zip.write('test.txt')
test_zip.close()
3.使用命令行创建zip压缩包
zipfile的命令行参数:
-l:显示zip压缩包中的文件列表
-c:创建zip压缩包
-e:提取zip压缩包
-t:验证文件是否是一个有效的zip格式压缩包
python -m zipfile -c test.zip dir/
python -m zipfile -e test.zip target-dir/
三、使用shutil创建压缩包
1.使用make_archive函数创建压缩包,此函数有多个参数,base_name和formate是必传参数,root_dir指定创建压缩包的目录,默认是当前目录,非必传。
base_name指定压缩包名称;formate指定压缩包格式,它的取值只能是get_archive_formats()输入的结果,如下:
>>> import shutil
>>> shutil.get_archive_formats()
[('bztar', "bzip2'ed tar-file"), ('gztar', "gzip'ed tar-file"), ('tar', 'uncompressed tar file'), ('xztar', "xz'ed tar-file"), ('zip', 'ZIP file')]
>>>
2.Python2中没有shutil的解压函数,Python3中有一个unpack_archive解压函数。packname为压缩包名称,dirname为解压目录,formate指定压缩包格式,一般不需要指定,shutil能够根据压缩包扩展名确定格式。
shutil.unpack_archive(packname,dirname,formate)
「 文章如果对你有帮助,请点个赞哦^^ 」 
1+
若无特殊注明,文章均为本站原创或整理发布。
转载请注明本文地址:https://om.fangxiaoxiong.com/2774.html