博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python tar.gz格式压缩、解压
阅读量:6982 次
发布时间:2019-06-27

本文共 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,来减少该文件的空间。

由于计算机处理的信息是以二进制数的形式表示的,因此压缩软件就是把
二进制信息中相同的字符串以特殊字符标记来达到压缩的目的。为了有助于理解文件压缩,请在脑海里想象一幅蓝天白云的图片。对于成千上万单调重复的蓝色像点而言,与其一个一个定义“蓝、蓝、蓝……”长长的一串颜色,还不如告诉电脑:“从这个位置开始存储1117个蓝色像点”来得简洁,而且还能大大节约存储空间。这是一个非常简单的图像压缩的例子。其实,所有的计算机文件归根结底都是以“1”和“0”的形式存储的,和蓝色像点一样,只要通过合理的数学计算公式,文件的体积都能够被大大压缩以达到“数据无损稠密”的效果。总的来说,压缩可以分为有损和无损压缩两种。如果丢失个别的数据不会造成太大的影响,这时忽略它们是个好主意,这就是有损压缩。有损压缩广泛应用于动画、声音和图像文件中,典型的代表就是影碟文件格式mpeg、音乐文件格式mp3和图像文件格式jpg。但是更多情况下压缩数据必须准确无误,人们便设计出了无损压缩格式,比如常见的zip、rar等。压缩软件(compression software)自然就是利用压缩原理压缩数据的工具,压缩后所生成的文件称为压缩包(archive),体积只有原来的几分之一甚至更小。当然,压缩包已经是另一种文件格式了,如果想使用其中的数据,首先得用压缩软件把数据还原,这个过程称作解压缩。常见的压缩软件有winzip、winrar等。
本文转自jihite博客园博客,原文链接:http://www.cnblogs.com/kaituorensheng/p/4493145.html,如需转载请自行联系原作者
你可能感兴趣的文章
file_put_contents执行返回false,file_put_contents false(linux服务器httpd)
查看>>
JavaScript学习总结一(String对象的用法)
查看>>
处理手势冲突和错乱的一点经验
查看>>
Struts2防止表单重复提交
查看>>
[转]Python格式化输出
查看>>
CSS - 修改input - placeholder 和 readonly 的样式
查看>>
在多线程情况下 局部变量与全局变量 哪个比较安全呢
查看>>
算法评测
查看>>
POJ 2773 Happy 2006
查看>>
UBIFS介绍 - MTD网站
查看>>
如何使用ITEXTSHARP将HTML代码字符串写进PDF
查看>>
Oracle SQL CPU占用高
查看>>
Maya 2015 中英文切换
查看>>
C语言的字符串分割
查看>>
Arduino可穿戴开发入门教程Windows平台下安装Arduino IDE
查看>>
BpBinder 转换为 BpCameraService 流程
查看>>
李洪强经典面试题150-设计模式
查看>>
使用maven的profile切换项目各环境的参数
查看>>
XML基础知识
查看>>
Sharepoint学习笔记—习题系列--70-576习题解析 -(Q141-Q143)
查看>>