首页 > 脚本专栏 > python > Python tarfile压缩、解压tar文件

Python中使用tarfile压缩、解压tar归档文件示例

投稿:junjie

这篇文章主要介绍了Python中使用tarfile压缩、解压tar归档文件示例,本文直接给出解压和压缩代码示例,需要的朋友可以参考下

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):
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 — Read and write tar archive files

您可能感兴趣的文章:
  • 深入理解Django的信号机制
    深入理解Django的信号机制
    2023-02-02
  • Python生成随机数的方法详解(最全)
    Python生成随机数的方法详解(最全)
    2023-02-02
  • anconda的pip下载包出现的问题解决
    anconda的pip下载包出现的问题解决
    2023-02-02
  • python tarfile压缩包操作保姆级教程
    python tarfile压缩包操作保姆级教程
    2023-02-02
  • Python从Excel读取数据并使用Matplotlib绘制成二维图像
    Python从Excel读取数据并使用Matplotlib绘制成二维图像
    2023-02-02
  • Python实现计算函数或程序执行时间
    Python实现计算函数或程序执行时间
    2023-02-02
  • Pygame实现文字显示在窗口中
    Pygame实现文字显示在窗口中
    2023-02-02
  • 美国设下计谋,用娘炮文化重塑日本,已影响至中国
    美国设下计谋,用娘炮文化重塑日本,已影响至中国
    2021-11-19
  • 时空伴随者是什么意思?时空伴随者介绍
    时空伴随者是什么意思?时空伴随者介绍
    2021-11-09
  • 工信部称网盘企业免费用户最低速率应满足基本下载需求,天翼云盘回应:坚决支持,始终
    工信部称网盘企业免费用户最低速率应满足基本下载需求,天翼云盘回应:坚决支持,始终
    2021-11-05
  • 2022年放假安排出炉:五一连休5天 2022年所有节日一览表
    2022年放假安排出炉:五一连休5天 2022年所有节日一览表
    2021-10-26
  • 电脑版 - 返回首页

    2006-2023 脚本之家 JB51.Net , All Rights Reserved.
    苏ICP备14036222号