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簡單一點,你覺得呢!