压缩
代码
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']
解压
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是把文件压缩了。
压缩原理
把文件的二进制代码压缩,把相邻的0,1代码减少,比如有000000,可以把它变成6个0 的写法60,来减少该文件的空间。