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

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

Alt

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

摘要

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

模块图

zipfile-module

zipfile
	◆io
	◆os
	◆importlib
	◆sys
	◆time
	◆stat
	◆shutil
	◆struct
	◆binascii
	◆threading
	zlib
	bz2
	lzma

类关系图

zipfile-class

◆object
	◆BaseException
		◆Exception
			_lzma.LZMAError
			zipfile.BadZipFile
			zipfile.LargeZipFile
			zlib.error
	◆_bz2.BZ2Compressor
	◆_bz2.BZ2Decompressor
	◆_io._IOBase
		◆_io._BufferedIOBase
			◆io.BufferedIOBase
				◆_compression.BaseStream
					bz2.BZ2File
					lzma.LZMAFile
				zipfile.ZipExtFile
				zipfile._ZipWriteFile
	_lzma.LZMACompressor
	_lzma.LZMADecompressor
	zipfile.LZMACompressor
	zipfile.LZMADecompressor
	zipfile.ZipFile
		zipfile.PyZipFile
	zipfile.ZipInfo
	zipfile._SharedFile
	zipfile._Tellable

模块全展开

【zipfile】

zipfile, fullname=zipfile, file=zipfile.py

读写ZIP文件。
XXX对utf-8的引用需要进一步调查。

统计

序号 类别 数量
1 int 69
4 str 9
6 list 1
8 dict 2
9 module 13
10 class 13
11 function 11
12 builtin_function_or_method 1
13 residual 10
14 system 9
15 private 66
16 all 129

常量

int

1 ZIP64_LIMIT 2147483647
2 ZIP_FILECOUNT_LIMIT 65535
3 ZIP_MAX_COMMENT 65535
4 ZIP_STORED 0
5 ZIP_DEFLATED 8
6 ZIP_BZIP2 12
7 ZIP_LZMA 14
8 DEFAULT_VERSION 20
9 ZIP64_VERSION 45
10 BZIP2_VERSION 46
11 LZMA_VERSION 63
12 MAX_EXTRACT_VERSION 63
13 sizeEndCentDir 22
14 _ECD_SIGNATURE 0
15 _ECD_DISK_NUMBER 1
16 _ECD_DISK_START 2
17 _ECD_ENTRIES_THIS_DISK 3
18 _ECD_ENTRIES_TOTAL 4
19 _ECD_SIZE 5
20 _ECD_OFFSET 6
21 _ECD_COMMENT_SIZE 7
22 _ECD_COMMENT 8
23 _ECD_LOCATION 9
24 sizeCentralDir 46
25 _CD_SIGNATURE 0
26 _CD_CREATE_VERSION 1
27 _CD_CREATE_SYSTEM 2
28 _CD_EXTRACT_VERSION 3
29 _CD_EXTRACT_SYSTEM 4
30 _CD_FLAG_BITS 5
31 _CD_COMPRESS_TYPE 6
32 _CD_TIME 7
33 _CD_DATE 8
34 _CD_CRC 9
35 _CD_COMPRESSED_SIZE 10
36 _CD_UNCOMPRESSED_SIZE 11
37 _CD_FILENAME_LENGTH 12
38 _CD_EXTRA_FIELD_LENGTH 13
39 _CD_COMMENT_LENGTH 14
40 _CD_DISK_NUMBER_START 15
41 _CD_INTERNAL_FILE_ATTRIBUTES 16
42 _CD_EXTERNAL_FILE_ATTRIBUTES 17
43 _CD_LOCAL_HEADER_OFFSET 18
44 sizeFileHeader 30
45 _FH_SIGNATURE 0
46 _FH_EXTRACT_VERSION 1
47 _FH_EXTRACT_SYSTEM 2
48 _FH_GENERAL_PURPOSE_FLAG_BITS 3
49 _FH_COMPRESSION_METHOD 4
50 _FH_LAST_MOD_TIME 5
51 _FH_LAST_MOD_DATE 6
52 _FH_CRC 7
53 _FH_COMPRESSED_SIZE 8
54 _FH_UNCOMPRESSED_SIZE 9
55 _FH_FILENAME_LENGTH 10
56 _FH_EXTRA_FIELD_LENGTH 11
57 sizeEndCentDir64Locator 20
58 sizeEndCentDir64 56
59 _CD64_SIGNATURE 0
60 _CD64_DIRECTORY_RECSIZE 1
61 _CD64_CREATE_VERSION 2
62 _CD64_EXTRACT_VERSION 3
63 _CD64_DISK_NUMBER 4
64 _CD64_DISK_NUMBER_START 5
65 _CD64_NUMBER_ENTRIES_THIS_DISK 6
66 _CD64_NUMBER_ENTRIES_TOTAL 7
67 _CD64_DIRECTORY_SIZE 8
68 _CD64_OFFSET_START_CENTDIR 9
69 _DD_SIGNATURE 134695760

str

70 structCentralDir <4s4B4HL2L5H2L
71 structFileHeader <4s2B4HL2L2H
72 structEndArchive64Locator <4sLQL
73 structEndArchive64 <4sQ2H2L4Q

dict

74 compressor_names {0: ‘store’, 1: ‘shrink’, 2: ‘reduce’, 3: ‘reduce’, 4: ‘reduce’, 5: ‘reduce’, 6: ‘implode’, 7: ‘tokenize’, 8: ‘deflate’,…

模块

75 io

io, fullname=io, file=io.py

扫描二维码关注公众号,回复: 14933578 查看本文章

76 os

os, fullname=os, file=os.py

77 importlib

importlib, fullname=importlib, file=importlib_init_.py

导入的纯Python实现。

78 sys

sys, fullname=sys, file=

79 time

time, fullname=time, file=

80 stat

stat, fullname=stat, file=stat.py

81 shutil

shutil, fullname=shutil, file=shutil.py

82 struct

struct, fullname=struct, file=struct.py

83 binascii

binascii, fullname=binascii, file=

二进制数据和ASCII之间的转换

84 threading

threading, fullname=threading, file=threading.py

线程模块,模拟Java线程模型的子集。

85 zlib

zlib, fullname=zlib, file=

此模块中的函数允许使用基于GNU zip的zlib库进行压缩和解压缩。
    adler32(string[, start]) -- 计算adler32校验和。
    compress(data[, level]) -- 压缩数据,压缩级别为0-9或-1。
    compressobj([level[, ...]]) -- 返回压缩对象。
    crc32(string[, start]) -- 计算CRC-32校验和。
    decompress(string,[wbits],[bufsize]) -- -解压缩字符串。
    decompressobj([wbits[, zdict]]]) -- 返回一个解压器对象。
'wbits'是窗口缓冲区大小和容器格式。
压缩机对象支持compress()和flush()方法;
解压器对象支持decompress()和flush()。

86 bz2

bz2, fullname=bz2, file=bz2.py

到libbzip2压缩库的接口。
该模块提供了一个文件接口、用于增量压缩(解压缩)的类以及用于一次性压缩(解压缩)的函数。

87 lzma

lzma, fullname=lzma, file=lzma.py

到liblzma压缩库的接口。
这个模块提供了一个用于读写压缩文件的类,用于增量压缩(解压缩)的类,以及用于一次性压缩(解压缩)的方便函数。
这些类和函数同时支持XZ和遗留的LZMA容器格式,以及原始压缩数据流。

函数

88 _strip_extra(extra, xids)

_strip_extra(extra, xids), module=zipfile, line:166 at zipfile.py

89 _check_zipfile(fp)

_check_zipfile(fp), module=zipfile, line:185 at zipfile.py

90 is_zipfile(filename)

is_zipfile(filename), module=zipfile, line:193 at zipfile.py

通过检查magic数字,快速查看文件是否是ZIP文件。
filename参数也可以是一个文件或类文件对象。

91 _EndRecData64(fpin, offset, endrec)

_EndRecData64(fpin, offset, endrec), module=zipfile, line:209 at zipfile.py

读取ZIP64归档结束记录并使用它来更新endrec

92 _EndRecData(fpin)

_EndRecData(fpin), module=zipfile, line:252 at zipfile.py

从“中央目录终止符”记录返回数据或None。
数据是ZIP“End of central dir”中9项的列表
记录后面跟着第十项,该文件求该记录的偏移量。

93 _gen_crc(crc)

_gen_crc(crc), module=zipfile, line:550 at zipfile.py

94 _ZipDecrypter(pwd)

_ZipDecrypter(pwd), module=zipfile, line:566 at zipfile.py

95 _check_compression(compression)

_check_compression(compression), module=zipfile, line:675 at zipfile.py

96 _get_compressor(compress_type, compresslevel=None)

_get_compressor(compress_type, compresslevel=None), module=zipfile, line:694 at zipfile.py

97 _get_decompressor(compress_type)

_get_decompressor(compress_type), module=zipfile, line:710 at zipfile.py

98 main(args=None)

main(args=None), module=zipfile, line:2116 at zipfile.py

99 zipfile.BadZipFile

BadZipFile, zipfile.BadZipFile, module=zipfile, line:0 at

100 zipfile.LargeZipFile

LargeZipFile, zipfile.LargeZipFile, module=zipfile, line:0 at

在编写zip文件时引发,该zipfile需要ZIP64扩展名,而这些扩展名已被禁用。

101 zipfile.BadZipFile

BadZipFile, zipfile.BadZipFile, module=zipfile, line:0 at

102 zipfile.BadZipFile

BadZipFile, zipfile.BadZipFile, module=zipfile, line:0 at

103 zipfile.ZipInfo

ZipInfo, zipfile.ZipInfo, module=zipfile, line:0 at

类,其属性描述ZIP归档中的每个文件。

data

1 CRC=<member ‘CRC’ of ‘ZipInfo’ objects> kind:data type:member_descriptor class:<class ‘zipfile.ZipInfo’>
2 comment=<member ‘comment’ of ‘ZipInfo’ objects> kind:data type:member_descriptor class:<class ‘zipfile.ZipInfo’>
3 compress_size=<member ‘compress_size’ of ‘ZipInfo’ objects> kind:data type:member_descriptor class:<class ‘zipfile.ZipInfo’>
4 compress_type=<member ‘compress_type’ of ‘ZipInfo’ objects> kind:data type:member_descriptor class:<class ‘zipfile.ZipInfo’>
5 create_system=<member ‘create_system’ of ‘ZipInfo’ objects> kind:data type:member_descriptor class:<class ‘zipfile.ZipInfo’>
6 create_version=<member ‘create_version’ of ‘ZipInfo’ objects> kind:data type:member_descriptor class:<class ‘zipfile.ZipInfo’>
7 date_time=<member ‘date_time’ of ‘ZipInfo’ objects> kind:data type:member_descriptor class:<class ‘zipfile.ZipInfo’>
8 external_attr=<member ‘external_attr’ of ‘ZipInfo’ objects> kind:data type:member_descriptor class:<class ‘zipfile.ZipInfo’>
9 extra=<member ‘extra’ of ‘ZipInfo’ objects> kind:data type:member_descriptor class:<class ‘zipfile.ZipInfo’>
10 extract_version=<member ‘extract_version’ of ‘ZipInfo’ objects> kind:data type:member_descriptor class:<class ‘zipfile.ZipInfo’>
11 file_size=<member ‘file_size’ of ‘ZipInfo’ objects> kind:data type:member_descriptor class:<class ‘zipfile.ZipInfo’>
12 filename=<member ‘filename’ of ‘ZipInfo’ objects> kind:data type:member_descriptor class:<class ‘zipfile.ZipInfo’>
13 flag_bits=<member ‘flag_bits’ of ‘ZipInfo’ objects> kind:data type:member_descriptor class:<class ‘zipfile.ZipInfo’>
14 header_offset=<member ‘header_offset’ of ‘ZipInfo’ objects> kind:data type:member_descriptor class:<class ‘zipfile.ZipInfo’>
15 internal_attr=<member ‘internal_attr’ of ‘ZipInfo’ objects> kind:data type:member_descriptor class:<class ‘zipfile.ZipInfo’>
16 orig_filename=<member ‘orig_filename’ of ‘ZipInfo’ objects> kind:data type:member_descriptor class:<class ‘zipfile.ZipInfo’>
17 reserved=<member ‘reserved’ of ‘ZipInfo’ objects> kind:data type:member_descriptor class:<class ‘zipfile.ZipInfo’>
18 volume=<member ‘volume’ of ‘ZipInfo’ objects> kind:data type:member_descriptor class:<class ‘zipfile.ZipInfo’>

method

19 FileHeader(self, zip64=None)

kind=method class=ZipInfo objtype=function line:404 at …\zipfile.py

返回每个文件头作为字节对象。

20 is_dir(self)

kind=method class=ZipInfo objtype=function line:540 at …\zipfile.py

如果此存档成员是目录,则返回True。

class method

21 from_file(cls, filename, arcname=None)

kind=class method class=ZipInfo objtype=classmethod line:507 at …\zipfile.py

classmethod(function) -> method
转换函数为类方法。

104 zipfile.LZMACompressor

LZMACompressor, zipfile.LZMACompressor, module=zipfile, line:0 at

method

1 compress(self, data)

kind=method class=LZMACompressor objtype=function line:616 at …\zipfile.py

2 flush(self)

kind=method class=LZMACompressor objtype=function line:621 at …\zipfile.py

105 zipfile.LZMADecompressor

LZMADecompressor, zipfile.LZMADecompressor, module=zipfile, line:0 at

method

1 decompress(self, data)

kind=method class=LZMADecompressor objtype=function line:634 at …\zipfile.py

106 zipfile._SharedFile

_SharedFile, zipfile._SharedFile, module=zipfile, line:0 at

method

1 close(self)

kind=method class=_SharedFile objtype=function line:758 at …\zipfile.py

2 read(self, n=-1)

kind=method class=_SharedFile objtype=function line:747 at …\zipfile.py

3 seek(self, offset, whence=0)

kind=method class=_SharedFile objtype=function line:737 at …\zipfile.py

107 zipfile._Tellable

_Tellable, zipfile._Tellable, module=zipfile, line:0 at

method

1 close(self)

kind=method class=_Tellable objtype=function line:781 at …\zipfile.py

2 flush(self)

kind=method class=_Tellable objtype=function line:778 at …\zipfile.py

3 tell(self)

kind=method class=_Tellable objtype=function line:775 at …\zipfile.py

4 write(self, data)

kind=method class=_Tellable objtype=function line:770 at …\zipfile.py

108 zipfile.ZipExtFile

ZipExtFile, zipfile.ZipExtFile, module=zipfile, line:0 at

用于读取存档成员的类文件对象。由ZipFile.open()返回。

data

1 MAX_N=1073741824 kind:data type:int class:<class ‘zipfile.ZipExtFile’>
2 MAX_SEEK_READ=16777216 kind:data type:int class:<class ‘zipfile.ZipExtFile’>
3 MIN_READ_SIZE=4096 kind:data type:int class:<class ‘zipfile.ZipExtFile’>

method

4 close(self)

kind=method class=ZipExtFile objtype=function line:1039 at …\zipfile.py

5 peek(self, n=1)

kind=method class=ZipExtFile objtype=function line:891 at …\zipfile.py

返回缓冲的字节,但不前进位置。

6 read(self, n=-1)

kind=method class=ZipExtFile objtype=function line:907 at …\zipfile.py

读取和返回最多n个字节。如果省略参数,None或为负,则读取并返回数据,直到到达EOF。

7 read1(self, n)

kind=method class=ZipExtFile objtype=function line:950 at …\zipfile.py

最多用一个Read()系统调用读取n个字节。

8 readable(self)

kind=method class=ZipExtFile objtype=function line:904 at …\zipfile.py

9 readline(self, limit=-1)

kind=method class=ZipExtFile objtype=function line:875 at …\zipfile.py

从流中读取并返回一行。
如果指定了limit,将读取最多limit字节。

10 seek(self, offset, whence=0)

kind=method class=ZipExtFile objtype=function line:1049 at …\zipfile.py

11 seekable(self)

kind=method class=ZipExtFile objtype=function line:1046 at …\zipfile.py

12 tell(self)

kind=method class=ZipExtFile objtype=function line:1097 at …\zipfile.py

109 zipfile._ZipWriteFile

_ZipWriteFile, zipfile._ZipWriteFile, module=zipfile, line:0 at

method

1 close(self)

kind=method class=_ZipWriteFile objtype=function line:1134 at …\zipfile.py

2 writable(self)

kind=method class=_ZipWriteFile objtype=function line:1119 at …\zipfile.py

3 write(self, data)

kind=method class=_ZipWriteFile objtype=function line:1122 at …\zipfile.py

110 zipfile.ZipFile

ZipFile, zipfile.ZipFile, module=zipfile, line:0 at

类,其方法用于打开、读取、写入、关闭和列出zip文件。
    z = ZipFile(file, mode="r", compression=ZIP_STORED, allowZip64=True, compresslevel=None)
    file: 文件的路径或类文件对象。如果它是一个路径,该文件将被ZipFile打开和关闭。
    mode: 模式可以读取'r',写入'w',独占创建'x',或者附加'a'。
    compression: ZIP_STORED (不压缩), ZIP_DEFLATED (需要 zlib),
                 ZIP_BZIP2 (需要 bz2) or ZIP_LZMA (需要 lzma).
    allowZip64: 如果为True, ZipFile将在需要时创建带有ZIP64扩展名的文件,否则将在必要时引发异常。
    compresslevel: None(给定压缩类型的默认值)或一个整数,指定传递给压缩器的级别。
                    当使用 ZIP_STORED 或 ZIP_LZMA 时,此关键字没有作用。
                    使用 ZIP_DEFLATED 时,接受0到9的整数。
                    当使用 ZIP_BZIP2 时,接受1到9的整数。

data

1 fp=None kind:data type:NoneType class:<class ‘zipfile.ZipFile’>

property

2 comment=<property object at 0x000000000326E228> kind:property type:property class:<class ‘zipfile.ZipFile’>

method

3 close(self)

kind=method class=ZipFile objtype=function line:1811 at …\zipfile.py

关闭文件,对于模式'w', 'x'和'a'写入结束记录。

4 extract(self, member, path=None, pwd=None)

kind=method class=ZipFile objtype=function line:1608 at …\zipfile.py

使用成员的全名将成员从存档中提取到当前工作目录。
它的文件信息被尽可能准确地提取出来。' member'可以是文件名或ZipInfo对象。你可以使用' path'指定一个不同的目录。

5 extractall(self, path=None, members=None, pwd=None)

kind=method class=ZipFile objtype=function line:1621 at …\zipfile.py

将所有成员从存档中提取到当前工作目录。
' path'指定要提取到的不同目录。' members'是可选的,必须是namelist()返回的列表的子集。

6 getinfo(self, name)

kind=method class=ZipFile objtype=function line:1426 at …\zipfile.py

返回给定'name'的ZipInfo实例。

7 infolist(self)

kind=method class=ZipFile objtype=function line:1399 at …\zipfile.py

返回存档文件的类ZipInfo实例列表。

8 namelist(self)

kind=method class=ZipFile objtype=function line:1395 at …\zipfile.py

返回归档文件中的文件名列表。

9 open(self, name, mode=“r”, pwd=None, *, force_zip64=False)

kind=method class=ZipFile objtype=function line:1467 at …\zipfile.py

返回'name'的类文件对象。
name是ZIP文件中文件名的字符串,或ZipInfo对象。
mode应该是'r'来读取ZIP文件中已经存在的文件,或者'w'来写入新添加到存档中的文件。
PWD是解密文件的密码(仅用于读取)。
写入时,如果事先不知道文件大小,但可能超过 2 GiB,通过 force_zip64 使用 ZIP64 格式,可以处理大文件。
如果事先知道大小,最好传递一个带 zinfo.file_size 集合的ZipInfo实例作为name。

10 printdir(self, file=None)

kind=method class=ZipFile objtype=function line:1404 at …\zipfile.py

打印zip文件的目录。

11 read(self, name, pwd=None)

kind=method class=ZipFile objtype=function line:1462 at …\zipfile.py

返回文件名的文件字节。

12 setpassword(self, pwd)

kind=method class=ZipFile objtype=function line:1435 at …\zipfile.py

设置加密文件的默认密码。

13 testzip(self)

kind=method class=ZipFile objtype=function line:1413 at …\zipfile.py

读取所有文件并检查CRC。

14 write(self, filename, arcname=None,

kind=method class=ZipFile objtype=function line:1718 at …\zipfile.py

将文件名中的字节放入文件名arcname下的存档中。

15 writestr(self, zinfo_or_arcname, data,

kind=method class=ZipFile objtype=function line:1766 at …\zipfile.py

将一个文件写入存档。
内容是“data”,可以是'str'或'bytes'实例;如果是'str',它首先被编码为UTF-8。
'zinfo_or_arcname'是一个ZipInfo实例或归档文件中的文件名。

111 zipfile.PyZipFile

PyZipFile, zipfile.PyZipFile, module=zipfile, line:0 at

类使用Python库文件和包创建ZIP归档。

method

1 writepy(self, pathname, basename=“”, filterfunc=None)

kind=method class=PyZipFile objtype=function line:1951 at …\zipfile.py

将“pathname”中的所有文件添加到ZIP存档中。
如果pathname是一个包目录,则递归地搜索该目录和所有包子目录,查找所有*.py,并将模块输入存档。
如果pathname是一个普通目录,则listdir *.py并输入所有模块。
否则,pathname必须是Python *.py文件,模块将被放入存档。添加的模块总是module.pyc。
如有必要,该方法将module.py编译为module.pyc。
如果指定了filterfunc(pathname),则每个参数都会调用它。当为False时,将跳过该文件或目录。

内嵌函数或方法

112 crc32

私有或局部

113 _ECD_SIGNATURE 0
114 _ECD_DISK_NUMBER 1
115 _ECD_DISK_START 2
116 _ECD_ENTRIES_THIS_DISK 3
117 _ECD_ENTRIES_TOTAL 4
118 _ECD_SIZE 5
119 _ECD_OFFSET 6
120 _ECD_COMMENT_SIZE 7
121 _ECD_COMMENT 8
122 _ECD_LOCATION 9
123 _CD_SIGNATURE 0
124 _CD_CREATE_VERSION 1
125 _CD_CREATE_SYSTEM 2
126 _CD_EXTRACT_VERSION 3
127 _CD_EXTRACT_SYSTEM 4
128 _CD_FLAG_BITS 5
129 _CD_COMPRESS_TYPE 6
130 _CD_TIME 7
131 _CD_DATE 8
132 _CD_CRC 9
133 _CD_COMPRESSED_SIZE 10
134 _CD_UNCOMPRESSED_SIZE 11
135 _CD_FILENAME_LENGTH 12
136 _CD_EXTRA_FIELD_LENGTH 13
137 _CD_COMMENT_LENGTH 14
138 _CD_DISK_NUMBER_START 15
139 _CD_INTERNAL_FILE_ATTRIBUTES 16
140 _CD_EXTERNAL_FILE_ATTRIBUTES 17
141 _CD_LOCAL_HEADER_OFFSET 18
142 _FH_SIGNATURE 0
143 _FH_EXTRACT_VERSION 1
144 _FH_EXTRACT_SYSTEM 2
145 _FH_GENERAL_PURPOSE_FLAG_BITS 3
146 _FH_COMPRESSION_METHOD 4
147 _FH_LAST_MOD_TIME 5
148 _FH_LAST_MOD_DATE 6
149 _FH_CRC 7
150 _FH_COMPRESSED_SIZE 8
151 _FH_UNCOMPRESSED_SIZE 9
152 _FH_FILENAME_LENGTH 10
153 _FH_EXTRA_FIELD_LENGTH 11
154 _CD64_SIGNATURE 0
155 _CD64_DIRECTORY_RECSIZE 1
156 _CD64_CREATE_VERSION 2
157 _CD64_EXTRACT_VERSION 3
158 _CD64_DISK_NUMBER 4
159 _CD64_DISK_NUMBER_START 5
160 _CD64_NUMBER_ENTRIES_THIS_DISK 6
161 _CD64_NUMBER_ENTRIES_TOTAL 7
162 _CD64_DIRECTORY_SIZE 8
163 _CD64_OFFSET_START_CENTDIR 9
164 _DD_SIGNATURE 134695760
165 _EXTRA_FIELD_STRUCT <Struct object at 0x00000000032694F0>
166 _strip_extra <function _strip_extra at 0x000000000324B678>
167 _check_zipfile <function _check_zipfile at 0x0000000003032048>
168 _EndRecData64 <function _EndRecData64 at 0x0000000003263DC8>
169 _EndRecData <function _EndRecData at 0x0000000003263E58>
170 _crctable None
171 _gen_crc <function _gen_crc at 0x0000000003263EE8>
172 _ZipDecrypter <function _ZipDecrypter at 0x000000000326C3A8>
173 _check_compression <function _check_compression at 0x000000000326C438>
174 _get_compressor <function _get_compressor at 0x000000000326C828>
175 _get_decompressor <function _get_decompressor at 0x000000000326C8B8>
176 _SharedFile <class ‘zipfile._SharedFile’>
177 _Tellable <class ‘zipfile._Tellable’>
178 _ZipWriteFile <class ‘zipfile._ZipWriteFile’>

剩余

179 loader <_frozen_importlib_external.SourceFileLoader object at 0x000000000324C6C8>
180 spec ModuleSpec(name=‘zipfile’, loader=<_frozen_importlib_external.SourceFileLoader object at 0x000000000324C6C8>, origin=‘…\lib\zipfile.py’)
181 structEndArchive b’<4s4H2LH’
182 stringEndArchive b’PK\x05\x06’
183 stringCentralDir b’PK\x01\x02’
184 stringFileHeader b’PK\x03\x04’
185 stringEndArchive64Locator b’PK\x06\x07’
186 stringEndArchive64 b’PK\x06\x06’
187 _EXTRA_FIELD_STRUCT <Struct object at 0x00000000032694F0>
188 _crctable None

【io】

io, fullname=io, file=io.py

【os】

os, fullname=os, file=os.py

【importlib】

importlib, fullname=importlib, file=importlib_init_.py

【sys】

sys, fullname=sys, file=

【time】

time, fullname=time, file=

【stat】

stat, fullname=stat, file=stat.py

【shutil】

shutil, fullname=shutil, file=shutil.py

【struct】

struct, fullname=struct, file=struct.py

【binascii】

binascii, fullname=binascii, file=

二进制数据和ASCII之间的转换

【threading】

threading, fullname=threading, file=threading.py

线程模块,模拟Java线程模型的子集。

【zlib】

zlib, fullname=zlib, file=

此模块中的函数允许使用基于GNU zip的zlib库进行压缩和解压缩。
    adler32(string[, start]) -- 计算adler32校验和。
    compress(data[, level]) -- 压缩数据,压缩级别为0-9或-1。
    compressobj([level[, ...]]) -- 返回压缩对象。
    crc32(string[, start]) -- 计算CRC-32校验和。
    decompress(string,[wbits],[bufsize]) -- -解压缩字符串。
    decompressobj([wbits[, zdict]]]) -- 返回一个解压器对象。
'wbits'是窗口缓冲区大小和容器格式。
压缩机对象支持compress()和flush()方法;
解压器对象支持decompress()和flush()。

统计

序号 类别 数量
1 int 20
4 str 6
10 class 2
12 builtin_function_or_method 6
13 residual 1
14 system 6
16 all 35

常量

int

1 MAX_WBITS 15
2 DEFLATED 8
3 DEF_MEM_LEVEL 8
4 DEF_BUF_SIZE 16384
5 Z_NO_COMPRESSION 0
6 Z_BEST_SPEED 1
7 Z_BEST_COMPRESSION 9
8 Z_DEFAULT_COMPRESSION -1
9 Z_FILTERED 1
10 Z_HUFFMAN_ONLY 2
11 Z_RLE 3
12 Z_FIXED 4
13 Z_DEFAULT_STRATEGY 0
14 Z_NO_FLUSH 0
15 Z_PARTIAL_FLUSH 1
16 Z_SYNC_FLUSH 2
17 Z_FULL_FLUSH 3
18 Z_FINISH 4
19 Z_BLOCK 5
20 Z_TREES 6

str

21 ZLIB_VERSION 1.2.11
22 ZLIB_RUNTIME_VERSION 1.2.11

23 zlib.error

error, zlib.error, module=zlib, line:0 at

内嵌函数或方法

24 adler32
25 compress
26 compressobj
27 crc32
28 decompress
29 decompressobj

【bz2】

bz2, fullname=bz2, file=bz2.py

参见 bz2 模块。
到libbzip2压缩库的接口。
该模块提供了一个文件接口、用于增量压缩(解压缩)的类以及用于一次性压缩(解压缩)的函数。

【lzma】

lzma, fullname=lzma, file=lzma.py

到liblzma压缩库的接口。
这个模块提供了一个用于读写压缩文件的类,用于增量压缩(解压缩)的类,以及用于一次性压缩(解压缩)的方便函数。
这些类和函数同时支持XZ和遗留的LZMA容器格式,以及原始压缩数据流。

统计

序号 类别 数量
1 int 31
4 str 5
6 list 1
8 dict 1
9 module 4
10 class 4
11 function 3
12 builtin_function_or_method 3
13 residual 2
14 system 9
15 private 6
16 all 54

常量

int

1 FORMAT_AUTO 0
2 FORMAT_XZ 1
3 FORMAT_ALONE 2
4 FORMAT_RAW 3
5 CHECK_NONE 0
6 CHECK_CRC32 1
7 CHECK_CRC64 4
8 CHECK_SHA256 10
9 CHECK_ID_MAX 15
10 CHECK_UNKNOWN 16
11 FILTER_LZMA1 4611686018427387905
12 FILTER_LZMA2 33
13 FILTER_DELTA 3
14 FILTER_X86 4
15 FILTER_IA64 6
16 FILTER_ARM 7
17 FILTER_ARMTHUMB 8
18 FILTER_SPARC 9
19 FILTER_POWERPC 5
20 MF_HC3 3
21 MF_HC4 4
22 MF_BT2 18
23 MF_BT3 19
24 MF_BT4 20
25 MODE_FAST 1
26 MODE_NORMAL 2
27 PRESET_DEFAULT 6
28 PRESET_EXTREME 2147483648
29 _MODE_CLOSED 0
30 _MODE_READ 1
31 _MODE_WRITE 3

模块

32 builtins

builtins, fullname=builtins, file=

33 io

io, fullname=io, file=io.py

34 os

os, fullname=os, file=os.py

35 _compression

_compression, fullname=_compression, file=_compression.py

gzip、lzma和bz2模块使用的内部类

函数

36 open(filename, mode=‘rb’, *, format=None, check=-1, preset=None, filters=None, encoding=None, errors=None, newline=None)

open(filename, mode=‘rb’, *, format=None, check=-1, preset=None, filters=None, encoding=None, errors=None, newline=None), module=lzma, line:263 at lzma.py

以二进制或文本模式打开lzma压缩文件。
filename可以是一个实际的文件名(以str、bytes或PathLike对象的形式给出),
在这种情况下,已命名的文件将被打开,也可以是一个可供读取或写入的现有文件对象。
mode参数可以是"r", "rb" (默认值), "w", "wb", "x", "xb", "a", 或 "ab"(二进制), 或者, "rt", "wt", "xt", or "at"(文本模式)
format, check, preset和filters参数,指定压缩设置,如LZMACompressor, LZMADecompressor和LZMAFile。
对于二进制模式,这个函数等价于LZMAFile构造函数:LZMAFile(filename, mode, ...)
在这种情况下,编码、错误和换行参数必须不提供。
对于文本模式,将创建一个LZMAFile对象,并将其包装在io.TextIOWrapper实例,使用指定的编码、错误处理行为和行结束。

37 compress(data, format=1, check=-1, preset=None, filters=None)

compress(data, format=1, check=-1, preset=None, filters=None), module=lzma, line:310 at lzma.py

压缩一个数据块。
关于可选参数*format*, *check*, *preset*和*filters*的描述请参考LZMACompressor的文档字符串。
对于增量压缩,使用 LZMACompressor 压缩器代替。

38 decompress(data, format=0, memlimit=None, filters=None)

decompress(data, format=0, memlimit=None, filters=None), module=lzma, line:322 at lzma.py

解压缩数据块。
可选参数*format*, *check*和*filters*的描述请参考LZMADecompressor的文档字符串。
对于增量解压缩,使用 LZMADecompressor 代替。

39 _lzma.LZMAError

LZMAError, _lzma.LZMAError, module=_lzma, line:0 at

调用liblzma失败。

40 _lzma.LZMACompressor

LZMACompressor, _lzma.LZMACompressor, module=_lzma, line:0 at

LZMACompressor(format= format XZ, check=-1, preset=None, filters=None)
创建一个压缩对象,用于增量压缩数据。
format指定用于输出的容器格式。可以是FORMAT_XZ(默认值)、FORMAT_ALONE或FORMAT_RAW。
Check指定要使用的完整性检查。对于FORMAT_XZ,默认是CHECK_CRC64。
FORMAT_ALONE和FORMAT_RAW不支持完整性检查;对于这些格式,必须省略check,或者为CHECK_NONE。
压缩器使用的设置可以指定为预设压缩级别(使用'preset'参数),也可以详细指定为自定义过滤器链(使用'filters'参数)。
对于FORMAT_XZ和FORMAT_ALONE,默认是使用PRESET_DEFAULT预设级别。
对于FORMAT_RAW,调用者必须始终指定一个过滤器链;原压缩机不支持预设压缩级别。
preset(如果提供)应该是0-9范围内的整数,可选OR-ed常量 PRESET_EXTREME。
过滤器(如果提供)应该是字典序列。每个字典都应该有一个表示“id”的条目,表示过滤器的id,以及用于过滤器选项的附加条目。
对于一次性压缩,请使用compress()函数。

method

1 compress(self, *args, **kwargs)

kind=method class=LZMACompressor objtype=method_descriptor line:103 at …-1026899380_lzma.py

向压缩机对象提供数据。
如果可能,返回一个压缩数据块,否则返回b''。
完成向压缩器提供数据后,调用flush()方法来完成压缩过程。

2 flush(self, *args, **kwargs)

kind=method class=LZMACompressor objtype=method_descriptor line:114 at …-1026899380_lzma.py

完成压缩过程。
返回保留在内部缓冲区中的压缩数据。
在调用此方法后,可能不会使用压缩器对象。

41 _lzma.LZMADecompressor

LZMADecompressor, _lzma.LZMADecompressor, module=_lzma, line:0 at

创建一个解压缩对象,用于增量地解压缩数据。
format
    输入流的容器格式。如果这是FORMAT_AUTO(默认值),解压缩器将自动检测输入是FORMAT_XZ还是FORMAT_ALONE。
    使用FORMAT_RAW创建的流不能自动检测。
memlimit
    限制解压程序使用的内存量。
    如果输入不能在给定的限制内解压缩,这将导致解压缩失败。
filters
    自定义过滤器链。这个参数对于FORMAT_RAW是必需的,不接受任何其他格式。
    当提供时,这应该是一个字典序列,每个字典表示单个过滤器的ID和选项。
对于一次性解压,请使用decompress()函数。

data

1 check=<member ‘check’ of ‘_lzma.LZMADecompressor’ objects> kind:data type:member_descriptor class:<class ‘_lzma.LZMADecompressor’>
2 eof=<member ‘eof’ of ‘_lzma.LZMADecompressor’ objects> kind:data type:member_descriptor class:<class ‘_lzma.LZMADecompressor’>
3 needs_input=<member ‘needs_input’ of ‘_lzma.LZMADecompressor’ objects> kind:data type:member_descriptor class:<class ‘_lzma.LZMADecompressor’>
4 unused_data=<member ‘unused_data’ of ‘_lzma.LZMADecompressor’ objects> kind:data type:member_descriptor class:<class ‘_lzma.LZMADecompressor’>

method

5 decompress(self)

kind=method class=LZMADecompressor objtype=method_descriptor line:157 at …-1026899380_lzma.py

解压*data*,返回未压缩的字节数据。
如果*max_length*是非负的,则返回最多*max_length*字节的解压缩数据。
如果达到这个限制,可以产生进一步的输出,*self.needs_input* 将被设置为``False``。
在这种情况下,下一次调用 *decompress()* 可能会提供 *data* 作为 b'' 以获得更多的输出。
如果所有输入数据都被解压缩并返回(要么因为它小于*max_length*字节,要么因为*max_length*为负),则*self.needs_input*将被设置为True。
在流结束后尝试解压缩数据会引发EOFError。流结束后发现的任何数据都将被忽略,并保存在未使用的数据属性中。

42 lzma.LZMAFile

LZMAFile, lzma.LZMAFile, module=lzma, line:0 at

提供透明LZMA (de)compression 的文件对象。
LZMAFile可以作为现有文件对象的包装器,或者直接引用磁盘上的已命名文件。
注意LZMAFile提供了一个二进制文件接口——读取的数据以字节的形式返回,写入的数据必须以字节的形式给出。

property

1 closed=<property object at 0x0000000003146EF8> kind:property type:property class:<class ‘lzma.LZMAFile’>

method

2 close(self)

kind=method class=LZMAFile objtype=function line:134 at …\lzma.py

刷新并关闭文件。
可以多次调用而没有错误。一旦文件被关闭,对它的任何其他操作都会引发ValueError。

3 fileno(self)

kind=method class=LZMAFile objtype=function line:163 at …\lzma.py

返回基础文件的文件描述符。

4 peek(self, size=-1)

kind=method class=LZMAFile objtype=function line:182 at …\lzma.py

返回缓冲数据,但不提升文件位置。
总是返回至少一个字节的数据,除非在EOF。
返回的确切字节数未指定。

5 read(self, size=-1)

kind=method class=LZMAFile objtype=function line:193 at …\lzma.py

从文件中读取未压缩字节的大小。
如果size为负数或省略,则读取直到达到EOF。
如果文件已经在EOF,则返回b""。

6 read1(self, size=-1)

kind=method class=LZMAFile objtype=function line:202 at …\lzma.py

读取未压缩字节的大小,同时尽量避免从底层流进行多次读取。
如果size为负,则读取缓冲区的数据值。如果文件在EOF,则返回b"" 。

7 readable(self)

kind=method class=LZMAFile objtype=function line:172 at …\lzma.py

返回文件是否被打开以供读取。

8 readline(self, size=-1)

kind=method class=LZMAFile objtype=function line:214 at …\lzma.py

从文件中读取一行未压缩的字节。
终止换行符(如果存在)被保留。
如果size非负,将读取不超过size字节(在这种情况下,行可能是不完整的)。
如果已经在EOF,则返回bb''。

9 seek(self, offset, whence=io.SEEK_SET)

kind=method class=LZMAFile objtype=function line:237 at …\lzma.py

更改文件位置。
新位置由偏移量指定,相对于由何处指示的位置。
    0:流的开始(默认值):偏移量不能为负
    1:当前流的位置
    2:流的结束;偏移量不能为负
    返回新的文件位置。注意,搜索是模拟的,因此根据参数的不同,这个操作可能非常慢。

10 seekable(self)

kind=method class=LZMAFile objtype=function line:168 at …\lzma.py

返回文件是否支持查找。

11 tell(self)

kind=method class=LZMAFile objtype=function line:255 at …\lzma.py

返回当前文件位置。

12 writable(self)

kind=method class=LZMAFile objtype=function line:177 at …\lzma.py

返回文件是否被打开进行写入。

13 write(self, data)

kind=method class=LZMAFile objtype=function line:224 at …\lzma.py

将字节对象写入文件。
返回写入的未压缩字节数,通常为len(data)。
注意,由于缓冲,在调用close()之前,磁盘上的文件可能不会反映写入的数据。

内嵌函数或方法

43 is_check_supported
44 _encode_filter_properties
45 _decode_filter_properties

私有或局部

46 _encode_filter_properties
47 _decode_filter_properties
48 _compression <module ‘_compression’ from ‘…\lib\_compression.py’>
49 _MODE_CLOSED 0
50 _MODE_READ 1
51 _MODE_WRITE 3

猜你喜欢

转载自blog.csdn.net/Ahcao2008/article/details/129955163
今日推荐