zipfile和tarfile的简单使用方法

zipfile模块用来做zip格式编码的压缩和解压缩的,zipfile里有两个非常重要的class, 分别是ZipFile和ZipInfo, 在绝大多数的情况下,我们只需要使用这两个class就可以了。ZipFile是主要的类,用来创建和读取zip文件而ZipInfo是存储的zip文件的每个文件的信息的

zipfile的用法

压缩:

>>> import zipfile
>>> z=zipfile.ZipFile("laxi.zip","w")
>>> z.write("a.log")

>>> z.write("f1.log")

>>> z.write("f2.log")
>>> z.close()

解缩:

>>> z=zipfile.ZipFile("laxi.zip","r")
>>> z.extractall()
>>> z.close()

 解压到指定的文件夹中,如果文件夹不存在,则新建

>>> exampleZip=zipfile.ZipFile("a.zip")
>>> exampleZip.extractall("/home/ubuntu/Test")
>>> exampleZip.close()

>>> import zipfile
>>> z=zipfile.ZipFile("a.zip",'r')

>>> for i in z.infolist():
... print(i.filename,i.file_size, i.header_offset)

filename:文件名称

file_size:文件大小

header_offset:文件数据在压缩包中的偏移

>>> z=zipfile.ZipFile("a.zip")
>>> z.extract("a.java")  -------------------------->查看压缩包中指定文件所在的绝对路径 
'/home/ubuntu/test/a.java'


tarfile的用法

压缩:

>>> import tarfile
>>> tar=tarfile.open("your.tar","w")
>>> tar.add("/home/gerrit/python_script/f1.log",arcname="f1.log")
>>> tar.add("/home/gerrit/python_script/f2.log",arcname="f2.log")
>>> tar.close()

解压:

>>> import tarfile
>>> tar=tarfile.open("your.tar","r")
>>> tar.extractall()
>>> tar.close()

 


 从上面的案例可以看出:zipfile和tarfile的解压方法都是调用的extractall()方法,但是zipfile的压缩是彩用write()方法将文件写入到压缩包中,tarfile的压缩是彩用add()方法将文件添加到压缩包中,这样看zipfile好像还比tarfile简单一点,你觉得呢!

原文地址:https://www.cnblogs.com/gaoyuxia/p/10598802.html