Python自带的tarfile模块可以方便读取tar归档文件,牛b的是可以处理使用gzip和bz2压缩归档文件tar.gz和tar.bz2。

与tarfile对应的是zipfile模块,zipfile是处理zip压缩的。请注意:os.system(cmd)可以使Python脚本执行命令,当然包括:tar -czf  *.tar.gz *,tar -xzf *.tar.gz,unzip等,当我觉得这样尽管可以解决问题,但我觉得很业余。

使用tarfile压缩

import tarfile

#创建压缩包名

tar = tarfile.open("/tmp/tartest.tar.gz","w:gz")

#创建压缩包

for root,dir,files in os.walk("/tmp/tartest"):

for file in files:

fullpath = os.path.join(root,file)

tar.add(fullpath)

tar.close()

使用tarfile解压

def extract(tar_path,target_path):

try:

tar = tarfile.open(tar_path,"r:gz")

file_names = tar.getnames()

for file_name in file_names:

tar.extract(file_name,target_path)

tar.close()

except Exception,e:

raise Exception,e

其中open的原型是:

tarfile.open(name=None,mode='r',fileobj=None,bufsize=10240,**kwargs)

mode的值有:

'r' or 'r:*'   Open for reading with transparent compression (recommended).

'r:'   Open for reading exclusively without compression.

'r:gz'   Open for reading with gzip compression.

'r:bz2'   Open for reading with bzip2 compression.

'a' or 'a:'   Open for appending with no compression. The file is created if it does not exist.

'w' or 'w:'   Open for uncompressed writing.

'w:gz'   Open for gzip compressed writing.

'w:bz2'   Open for bzip2 compressed writing.

tarfile读文件python_Python中使用tarfile压缩、解压tar归档文件示例相关推荐

  1. 文件夹打包成pkg_linux如何解压tar.gz到指定文件夹或目录

    请关注本头条号,每天坚持更新原创干货技术文章. 如需学习视频,请在微信搜索公众号"智传网优"直接开始自助视频学习 1. 前言 本文主要讲解如何解压tar.gz到指定文件夹或目录,t ...

  2. 2020-10-21 ubuntu 打包解包压缩解压tar gz bz2 tar.Z tgz rar lha格式

    ubuntu 打包解包压缩解压tar gz bz2 tar.Z tgz rar lha格式 一.tar 格式 解包:tar xvf FileName.tar 打包:tar cvf FileName.t ...

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

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

  4. win系统压缩/解压.tar.gz 文件的方法

    一.将文件压缩成.tar.gz 文件 进入到被压缩文件的文件夹,点击右键打开Windows PoweShell,输入下面命令: tar -cvzf file_name.tar.gz "pat ...

  5. 压缩解压:tar zip unzip 7z|7za rar

    tar -c|x|u|r|t[z|j][v] -f <归档文件> [未打包文件] 将多个文件打包为一个归档文件,可以在打包的同时进行压缩.支持的格式为tar(归档).gz(压缩).bz2( ...

  6. linux关于压缩解压tar包

    tar -c: 建立压缩档案 -x:解压 -t:查看内容 -r:向压缩归档文件末尾追加文件 -u:更新原压缩包中的文件 这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个 ...

  7. Python中使用tarfile压缩、解压tar归档文件

    Python自带的tarfile模块可以方便读取tar归档文件,牛b的是可以处理使用gzip和bz2压缩归档文件tar.gz和tar.bz2. 与tarfile对应的是zipfile模块,zipfil ...

  8. linux下文件夹压缩解压.tar , .gz , .tar.gz , .bz2 , .tar.bz2 , .bz , .tar.bz , .zip , .rar

    .tar 解包:tar xvf FileName.tar 打包:tar cvf FileName.tar DirName (注:tar是打包,不是压缩!) ---------------------- ...

  9. Linux压缩解压tar.gz和zip包命令汇总

    1.tar包和gz包 tar包和gz包是两个不同的文件包,有三种不同后缀..tar .gz .tar.gz tar包:使用tar命令,打包文件或者文件夹,只打包,不压缩 gz包:使用gzip命令,只压 ...

最新文章

  1. WPF自定义空心文字
  2. 最短路径树 php,CCNA-开放式最短路径优先(OSPF)真实考题
  3. setDAta 字符串拼接
  4. Fluid 0.6 版本发布:数据感知的Pod调度与数据集自动弹性扩缩容
  5. 基于visual Studio2013解决面试题之0410计算二进制中1的个数
  6. 火狐中怎么把xml转换为html,创建兼容IE、火狐、chrome、oprea浏览器的xmlDom对象方法...
  7. oracle sequence sql server,SQL Server 实现oracle的sequence方法示例
  8. 从inceptionv1走向xception小结
  9. 中国省级行政区划变动情况
  10. 数据结构c语言版 严蔚敏 课本源码
  11. 如何免费设置QQ空间背景音乐
  12. solidity 函数修饰器 modifier
  13. 从零开始Labview机器视觉-图像采…
  14. 汇编语言练习_2_批量传送 条件转移
  15. 复数乘法(JAVA)
  16. Java学习笔记 --- 多分支
  17. C++初阶—STL简介
  18. 如何优雅地实现C++编译期多态?
  19. bootstrapinput传参数_***文件上传控件bootstrap-fileinput的使用和参数配置说明
  20. 用python的tkinter做游戏(七)—— 双人射击游戏Demo(类的应用) 篇

热门文章

  1. c#连接mysql数据库,增删查改命令执行
  2. Java实现简单的计算器
  3. AD的小知识贴片的template
  4. java 复制Map对象(深拷贝与浅拷贝)
  5. codeforces 796A-D
  6. 如何用代码编写四则运算?
  7. Android Studio 技巧
  8. 通过char与varchar的区别,学习可变长的字符类型
  9. Time complexity analysis of algorithms
  10. bus,device,driver三者关系