一图看懂 tarfile 模块:处理压缩和解压缩文件, 资料整理+笔记(大全)

本文详细介绍了Python内置的tarfile模块,包括其主要类、函数、方法和属性,提供了处理压缩和解压缩文件的全面指南。内容涵盖模块统计、常量、模块和类的关系、类的方法等,是一份实用的参考资源。
摘要由CSDN通过智能技术生成

本文由 大侠(AhcaoZhu)原创,转载请声明。
链接: https://blog.csdn.net/Ahcao2008

Alt

一图看懂 tarfile 模块:处理压缩和解压缩文件, 资料整理+笔记(大全)

摘要

全文介绍系统内置 tarfile 模块、函数、类及类的方法和属性。
它通过代码抓取并经AI智能翻译和人工校对。
是一部不可多得的权威字典类工具书。它是系列集的一部分。后续陆续发布、敬请关注。【原创:AhcaoZhu大侠】

模块图

tarfile-module

tarfile
	◆sys
	◆os
	◆io
	◆shutil
	◆stat
	◆time
	◆struct
	◆copy
	◆re

类关系图

tar-class

(省略模式)
◆object
	◆BaseException
		◆Exception
			tarfile.TarError
				tarfile.CompressionError
				tarfile.ExtractError
				tarfile.HeaderError
					tarfile.EOFHeaderError
					tarfile.EmptyHeaderError
					tarfile.InvalidHeaderError
					tarfile.SubsequentHeaderError
					tarfile.TruncatedHeaderError
				tarfile.ReadError
				tarfile.StreamError
	◆_io._IOBase
		◆_io._BufferedIOBase
			◆_io.BufferedRWPair
			◆_io.BufferedRandom
			◆_io.BufferedReader
				tarfile.ExFileObject
	tarfile.TarFile
	tarfile.TarInfo
	tarfile._FileInFile
	tarfile._LowLevelFile
	tarfile._Stream
	tarfile._StreamProxy

模块全展开

【tarfile】

tarfile, fullname=tarfile, file=tarfile.py

读取和写入tar格式归档文件。

统计

序号 类别 数量
1 int 9
4 str 9
5 tuple 5
6 list 1
7 set 1
8 dict 2
9 module 9
10 class 18
11 function 10
12 builtin_function_or_method 1
13 residual 23
14 system 11
15 private 5
16 all 88

常量

int

1 BLOCKSIZE 512
2 RECORDSIZE 10240
3 LENGTH_NAME 100
4 LENGTH_LINK 100
5 LENGTH_PREFIX 155
6 USTAR_FORMAT 0
7 GNU_FORMAT 1
8 PAX_FORMAT 2
9 DEFAULT_FORMAT 1

str

10 version 0.9.0
11 ENCODING utf-8

tuple

12 symlink_exception (<class ‘AttributeError’>, <class ‘NotImplementedError’>, <class ‘OSError’>)
13 SUPPORTED_TYPES (b’0’, b’\x00’, b’1’, b’2’, b’5’, b’6’, b’7’, b’3’, b’4’, b’L’, b’K’, b’S’)
14 REGULAR_TYPES (b’0’, b’\x00’, b’7’, b’S’)
15 GNU_TYPES (b’L’, b’K’, b’S’)
16 PAX_FIELDS (‘path’, ‘linkpath’, ‘size’, ‘mtime’, ‘uid’, ‘gid’, ‘uname’, ‘gname’)

set

17 PAX_NAME_FIELDS {‘uname’, ‘linkpath’, ‘path’, ‘gname’}

dict

18 PAX_NUMBER_FIELDS {‘atime’: <class ‘float’>, ‘ctime’: <class ‘float’>, ‘mtime’: <class ‘float’>, ‘uid’: <class ‘int’>, ‘gid’: <class ‘int’…

模块

19 sys

sys, fullname=sys, file=

20 os

os, fullname=os, file=os.py

21 io

io, fullname=io, file=io.py

22 shutil

shutil, fullname=shutil, file=shutil.py

23 stat

stat, fullname=stat, file=stat.py

24 time

time, fullname=time, file=

25 struct

struct, fullname=struct, file=struct.py

26 copy

copy, fullname=copy, file=copy.py

27 re

re, fullname=re, file=re.py

函数

28 stn(s, length, encoding, errors)

stn(s, length, encoding, errors), module=tarfile, line:158 at tarfile.py

将字符串转换为以空结束的bytes对象。

29 nts(s, encoding, errors)

nts(s, encoding, errors), module=tarfile, line:164 at tarfile.py

将以空结束的bytes对象转换为字符串。

30 nti(s)

nti(s), module=tarfile, line:172 at tarfile.py

将数字字段转换为python数字。

31 itn(n, digits=8, format=1)

itn(n, digits=8, format=1), module=tarfile, line:192 at tarfile.py

将python数字转换为数字字段

32 calc_chksums(buf)

calc_chksums(buf), module=tarfile, line:221 at tarfile.py

计算成员头的校验和,方法是将除chksum字段外的所有字符相加,该字段被当作空格填充。
根据GNU tar源代码,一些tar (Sun和NeXT)使用带符号的char计算chksum,如果缓冲区中有设置了高位的char,则会有所不同。
计算两个校验和,无符号校验和和有符号校验和。

33 copyfileobj(src, dst, length=None, exception=<class ‘OSError’>, bufsize=None)

copyfileobj(src, dst, length=None, exception=<class ‘OSError’>, bufsize=None), module=tarfile, line:234 at tarfile.py

将长度字节从fileobj src复制到fileobj dst。
如果length为None,则复制整个内容

34 filemode(mode)

filemode(mode), module=tarfile, line:259 at tarfile.py

在此位置已弃用;使用stat.filemode。

35 _safe_print(s)

_safe_print(s), module=tarfile, line:266 at tarfile.py

36 is_tarfile(name)

is_tarfile(name), module=tarfile, line:2435 at tarfile.py

如果name指向我们能够处理的tar存档,则返回True,否则返回False。

37 main()

main(), module=tarfile, line:2449 at tarfile.py

38 tarfile.TarError

TarError, tarfile.TarError, module=tarfile, line:0 at

基本异常。

39 tarfile.ExtractError

ExtractError, tarfile.ExtractError, module=tarfile, line:0 at

提取错误的一般异常。

40 tarfile.ReadError

ReadError, tarfile.ReadError, module=tarfile, line:0 at

不可读的tar存档异常。

41 tarfile.CompressionError

CompressionError, tarfile.CompressionError, module=tarfile, line:0 at

不可用压缩方法的异常。

42 tarfile.StreamError

StreamError, tarfile.StreamError, module=tarfile, line:0 at

流类tarfile上不支持的操作的异常。

43 tarfile.HeaderError

HeaderError, tarfile.HeaderError, module=tarfile, line:0 at

头错误的基本异常。

44 tarfile.EmptyHeaderError

EmptyHeaderError, tarfile.EmptyHeaderError, module=tarfile, line:0 at

空头异常。

45 tarfile.TruncatedHeaderError

TruncatedHeaderError, tarfile.TruncatedHeaderError, module=tarfile, line:0 at

截断头的异常。

46 tarfile.EOFHeaderError

EOFHeaderError, tarfile.EOFHeaderError, module=tarfile, line:0 at

文件头结束时出现异常。

47 tarfile.InvalidHeaderEr

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AhcaoZhu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值