python壓縮解壓縮相關

打包成zip文件

import zipfile
f = zipfile.ZipFile('archive.zip','w',zipfile.ZIP_DEFLATED)
f.write('file_to_add.py')
f.close()

從zip文件解包

import os,sys  
import zipfile  
import re
os.chdir('/home/wangyue/brain/geneexpression')

all = os.listdir('.')

for ii in all:
    b = re.match('\d+',ii)
    if b:        
        zfile = ii
        z = zipfile.ZipFile(zfile, mode='r')
        os.mkdir('un' + ii)
        for jj in z.filelist:
            data = z.read(jj)            
            fd = open('./'+'un'+ii+'/'+jj.filename,'wb')     
            fd.write(data)
            fd.close()

把整個文件夾內的文件打包

import zipfile
f = zipfile.ZipFile('archive.zip','w',zipfile.ZIP_DEFLATED)
startdir = "c:\\mydirectory"
for dirpath, dirnames, filenames in os.walk(startdir):
    for filename in filenames:
        f.write(os.path.join(dirpath,filename))
f.close()

該代碼片段來自於: http://www.sharejs.com/codes/python/210

壓縮和解壓縮tar.gz文件

先是解壓縮

import tarfile
import os
def untar(fname, dirs):
    t = tarfile.open(fname)
    t.extractall(path = dirs) 

if __name__ == "__main__":
    untar("del.tar.gz", ".")

再是壓縮

import tarfile
import os
def tar(fname):
    t = tarfile.open(fname + ".tar.gz", "w:gz")
    for root, dir, files in os.walk(fname):
        print root, dir, files
        for file in files:
            fullpath = os.path.join(root, file)
            t.add(fullpath)
    t.close()

if __name__ == "__main__":
    tar("del")

以上引用自

http://www.cnblogs.com/kaituorensheng/p/4493145.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章