python tar.gz格式压缩、解压

压缩css

代码工具

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")

结果动画

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

 

解压spa

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

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

 

tar和tar.gz文件区别设计

tar文件只是把文件打包,文件大小没发生变化;tar.gz是把文件压缩了。code

压缩原理blog

把文件的二进制代码压缩,把相邻的0,1代码减小,好比有000000,能够把它变成6个0 的写法60,来减小该文件的空间。图片

因为计算机处理的信息是以二进制数的形式表示的,所以压缩软件就是把 二进制信息中相同的字符串以特殊字符标记来达到压缩的目的。为了有助于理解文件压缩,请在脑海里想象一幅蓝天白云的图片。对于成千上万单调重复的蓝色像点而言,与其一个一个定义“蓝、蓝、蓝……”长长的一串颜色,还不如告诉电脑:“从这个位置开始存储1117个蓝色像点”来得简洁,并且还能大大节约存储空间。这是一个很是简单的图像压缩的例子。其实,全部的计算机文件归根结底都是以“1”和“0”的形式存储的,和蓝色像点同样,只要经过合理的数学计算公式,文件的体积都可以被大大压缩以达到“数据无损稠密”的效果。总的来讲,压缩能够分为有损和无损压缩两种。若是丢失个别的数据不会形成太大的影响,这时忽略它们是个好主意,这就是有损压缩。有损压缩普遍应用于动画、声音和图像文件中,典型的表明就是影碟文件格式mpeg、音乐文件格式mp3和图像文件格式jpg。可是更多状况下压缩数据必须准确无误,人们便设计出了无损压缩格式,好比常见的zip、rar等。压缩软件(compression software)天然就是利用压缩原理压缩数据的工具,压缩后所生成的文件称为压缩包(archive),体积只有原来的几分之一甚至更小。固然,压缩包已是另外一种文件格式了,若是想使用其中的数据,首先得用压缩软件把数据还原,这个过程称做解压缩。常见的压缩软件有winzip、winrar等。
相关文章
相关标签/搜索