本文共 1353 字,大约阅读时间需要 4 分钟。
压缩
代码
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")
结果
1 2 | del [ 'del2' ] [ 'del2.txt' ] del\del 2 [] [ '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,来减少该文件的空间。