python tar.gz格式壓縮、解壓

來源:互聯網
上載者:User

標籤:

壓縮

代碼

import tarfileimport osdef 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")

結果

del [‘del2‘] [‘del2.txt‘]del\del2 [] [‘del3.txt‘]

 

解壓

import tarfileimport osdef untar(fname, dirs):    t = tarfile.open(fname)    t.extractall(path = dirs) if __name__ == "__main__":    untar("del.tar.gz", ".")

 

tar和tar.gz檔案區別

tar檔案只是把檔案打包,檔案大小沒發生變化;tar.gz是把檔案壓縮了。

壓縮原理

把檔案的二進位代碼壓縮,把相鄰的0,1代碼減少,比如有000000,可以把它變成6個0 的寫法60,來減少該檔案的空間。

由於電腦處理的資訊是以位元的形式表示的,因此壓縮軟體就是把 二進位資訊中相同的字串以特殊字元標記來達到壓縮的目的。為了有助於理解檔案壓縮,請在腦海裡想象一幅藍天白雲的圖片。對於成千上萬單調重複的藍色像點而言,與其一個一個定義“藍、藍、藍……”長長的一串顏色,還不如告訴電腦:“從這個位置開始儲存1117個藍色像點”來得簡潔,而且還能大大節約儲存空間。這是一個非常簡單的映像壓縮的例子。其實,所有的電腦檔案歸根結底都是以“1”和“0”的形式儲存的,和藍色像點一樣,只要通過合理的數學計算公式,檔案的體積都能夠被大大壓縮以達到“資料無損稠密”的效果。總的來說,壓縮可以分為有損和無損壓縮兩種。如果丟失個別的資料不會造成太大的影響,這時忽略它們是個好主意,這就是有損壓縮。有損壓縮廣泛應用於動畫、聲音和影像檔中,典型的代表就是影碟檔案格式mpeg、音樂檔案格式mp3和影像檔格式jpg。但是更多情況下壓縮資料必須準確無誤,人們便設計出了無損壓縮格式,比如常見的zip、rar等。壓縮軟體(compression software)自然就是利用壓縮原理壓縮資料的工具,壓縮後所產生的檔案稱為壓縮包(archive),體積只有原來的幾分之一甚至更小。當然,壓縮包已經是另一種檔案格式了,如果想使用其中的資料,首先得用壓縮軟體把資料還原,這個過程稱作解壓縮。常見的壓縮軟體有winzip、winrar等。

python tar.gz格式壓縮、解壓

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.