压缩

代码

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

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

python tar.gz格式压缩、解压相关推荐

  1. tar.gz文件压缩解压方法

    文件的压缩及解压命令老是记不住,所以简单做了一下整理. 1.tar.gz文件压缩 # tar cvfz backup.tar.gz /xxx/ -c, --create               c ...

  2. php tar.gz文件,PHP解压tar.gz格式文件的方法,_PHP教程

    PHP解压tar.gz格式文件的方法, 本文实例讲述了PHP解压tar.gz格式文件的方法.分享给大家供大家参考,具体如下: 1.运用php自带压缩与归档扩展(phar) $phar = new Ph ...

  3. tar+opensll 加密压缩解压

    1 压缩解压 压缩 tar -zcvf /path/to/1.tar.gz 1.txt 解压 tar -zxvf /path/to/1.tar.gz /path/to 指令详解: -z:是否同时具有g ...

  4. Python tarfile模块(压缩解压tar)

    TarFile类对于就是tar压缩包实例 其由member块组成, member块则包括header块和data块. 每个member以TarInfo对象形式描述. 所以TarFile就是TarInf ...

  5. tar -zxvf xxx.tar,gz --Linux中解压语句-zxvf的含义

    解压安装包 tar -zxvf redis-5.0.5.tar.gz tar表示压缩包的相关操作 -z 以"压缩"的方式进行操作. -x 代表解开压缩包 -v 展现解压的过程. - ...

  6. tgz(tar.gz)的压缩和解压

    转自: http://blog.csdn.net/zhenwenxian/article/details/4400404 (注:一般可以认为 .tgz 文件就等同于 .tar.gz 文件,如果使用 . ...

  7. .tar.gz 和.tgz 解压

    wget   {url} 下载 eg: wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.24/bin/apac ...

  8. Python zipfile模块(压缩解压zip)

    目录 常用函数介绍 ZipFile.getinfo(name) ZipFile.infolist() ZipFile.namelist() ZipFile.extractall(member[, pa ...

  9. linux常用命令-压缩解压命令

    压缩解压命令 目录  1. 压缩解压命令:gzip  2. 压缩解压命令:gunzip  3. 压缩解压命令:tar  4. 压缩解压命令:zip  5. 压缩解压命令:unzip  6. 压缩解压命 ...

最新文章

  1. 拿到淘宝offer后的胡思乱想plus面试总结
  2. [LeetCode] [C++] 第一轮刷题总结(持续更新~~~)
  3. python比较数据库表今天跟前一天数据增量,Python 生产环境Mysql数据库增量备份脚本...
  4. 如何用javasript对Gridview的项目进行汇总统计?
  5. 洛谷 [P1282] 多米诺骨牌
  6. vlc rtsp流 转 http播放视频
  7. linux数据被删了怎么办
  8. 观点 | 容器内应该运行什么?
  9. mybatis-批量插入
  10. 使用vmstat和iostat命令进行Linux性能监控
  11. python矩形碰撞检测算法_简易夺旗游戏(python像素级碰撞检测之颜色碰撞)
  12. 让计算机启动更快的十五招
  13. day9http协议
  14. 如何在不确定经济形势下把握好企业脉搏
  15. Linux 网络命令 ip、ifconfig
  16. 【PyTorch】高级神经网络结构
  17. CommandMethod介绍
  18. 获取星期PHP,php获取星期方法小结
  19. 基于ssm java健身俱乐部网站
  20. 队列应用之热土豆传递问题Python

热门文章

  1. spring-cloud-ribbon负载均衡
  2. Linux登录那点事
  3. ALSA声卡驱动中的DAPM详解之四:在驱动程序中初始化并注册widget和route
  4. [转]Android敏捷开发指南
  5. centos下安装apache + subversion(转)
  6. 协作是企业管理的重点和难点
  7. 关于互联网技术基层绩效管理的一些思考
  8. 【剑指offer】顺时针打印矩阵
  9. 自己写的Python数据库连接类和sql语句拼接方法
  10. linux系统管理学习笔记之三----软件的安装