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.

更多请参考:https://docs.python.org/2/library/tarfile.html

Python中使用tarfile压缩、解压tar归档文件相关推荐

  1. 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 ...

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

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

  3. linux关于压缩解压tar包

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

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

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

  5. tarfile读文件python_Python中使用tarfile压缩、解压tar归档文件示例

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

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

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

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

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

  8. linux tar解压压缩,linux下压缩解压tar 详解

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

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

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

最新文章

  1. linux版本更新,滚动更新与固定版本Linux之争
  2. 很好的一篇讲LTP在编解码中的作用的文章
  3. windows安装XGBoost
  4. Java线程start()vs run()方法及示例
  5. 怀念童年啊!周二下午没有动画片……
  6. Redis-与SpringBoot的集成
  7. kettle-执行结果
  8. oracle desc卡,Oracle的一个bug,desc的bug,很夸张,这么基础的功能居然有bug
  9. 高级网络配置+Ipv6
  10. 数字信号处理实验三 FIR数字滤波器设计与软件实现
  11. java kdj_KDJ 指标简单实现
  12. impala优化 COMPUTE STATS 与COMPUTE INCREMENTAL STATS
  13. 猿辅导 iOS 精准测试实践 - Objective-C 与 Swift 混编工程精准测试探索
  14. LaTex图表中英文标题,中英文图表目录
  15. [实战] Android 发短信 - SMS
  16. Windows 11 正式版 ISO 镜像下载大全
  17. IO那些事01-IO总述和文件描述符
  18. pfx私有证书转cer公钥格式证书
  19. 赛扬处理器_海尔逸15笔记本仅2299元,其酷睿10代赛扬处理器是什么情况?
  20. 通信——大学专业课程

热门文章

  1. python email模块详解_Python使用email模块对邮件进行编码和解码的实例教程
  2. 安卓手机运行ios教程_英雄联盟手游日服怎么注册?安卓/ios注册下载教程! 18183手机游戏网...
  3. Linux程序文件状态,linux 文件状态标识和IO操作方式
  4. mysql 表变量_在MySQL中创建表变量
  5. 微软云 mysql 重启_停止Azure MySQL PaaS数据库
  6. fping安装包linux,Linux安装fping和hping
  7. python函数求n年后本息_Python自定义函数计算给定日期是该年第几天的方法示例...
  8. 克隆卡设备_SD Clone for mac(SD卡克隆备份软件) v3.2
  9. java ajaxupload_Java中利用ajaxfileupload.js组件实现文件的上传功能
  10. /proc/cpuinfo_Linux中的/ proc / cpuinfo和/ proc / meminfo文件