tarfile读文件python_python tarfile - 刘江的python教程

本文介绍了Python的tarfile模块,用于处理tar打包文件,包括gzip、bz2和lzma压缩格式。文章详细讲解了tarfile.open()方法的用法,如不同模式的设置,并列举了常见异常。此外,还介绍了TarFile类的关键方法,如添加、提取文件,以及 TarInfo 对象的属性。最后,提供了多个使用tarfile模块的示例。
摘要由CSDN通过智能技术生成

tarfile

阅读: 15216

评论:0

既然有压缩模块zipfile,那有一个归档模块tarfile也是很自然的。tarfile模块用于解包和打包文件,包括被gzip,bz2或lzma压缩后的打包文件。如果是.zip类型的文件,建议使用zipfile模块,更高级的功能请使用shutil模块。

定义的类和异常

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

返回一个TarFile类型的对象。本质上就是打开一个文件对象。Python随处可见这种文件对象类型的设计,你很容易就明白,不是吗?

name是文件名或路径。

bufsize用于指定数据块的大小,默认为20*512字节。

mode是打开模式,一个类似filemode[:compression]格式的字符串,可以有下表所示的组合,默认为“r”。

模式

说明

'r'or'r:*'

自动解压并打开文件(推荐模式)

'r:'

只打开文件不解压

'r:gz'

采用gzip格式解压并打开文件

'r:bz2'

采用bz2格式解压并打开文件

'r:xz'

采用lzma格式解压并打开文件

'x'or'x:'

仅创建打包文件,不压缩

'x:gz'

采用gzip方式压缩并打包文件

'x:bz2'

采用bzip2方式压缩并打包文件

'x:xz'

采用lzma方式压缩并打包文件

'a'or'a:'

打开文件,并以不压缩的方式追加内容。如果文件不存在,则新建

'w'or'w:'

以不压缩的方式写入

'w:gz'

以gzip的方式压缩并写入

'w:bz2'

以bzip2的方式压缩并写入

'w:xz'

以lzma的方式压缩并写入

注意

不支持'a:gz', 'a:bz2'和'a:xz'的模式

如果当前模式不能正常打开文件用于读取,将抛出ReadError异常,这种情况下,请使用“r”模式。如果指定的压缩方式不支持,将抛出CompressionError异常。

在w:gz,r:gz,w:bz2,r:bz2,x:gz,x:bz2模式下,tarfile.open()方法额外接受一个压缩等级参数compresslevel,默认值为9。

class tarfile.TarFile

用于读写tarfile文件的类。不要直接使用这个类,请使用tarfile.open()方法。

tarfile.is_tarfile(name)

判断一个文件是否打包文件类型。

exception tarfile.TarError

tarfil

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值