本文由 大侠(AhcaoZhu)原创,转载请声明。
链接: https://blog.csdn.net/Ahcao2008
全文介绍系统内置 zipfile 模块、函数、类及类的方法和属性。
它通过代码抓取并经AI智能翻译和人工校对。
是一部不可多得的权威字典类工具书。它是系列集的一部分。后续陆续发布、敬请关注。【原创:AhcaoZhu大侠】
zipfile
◆io
◆os
◆importlib
◆sys
◆time
◆stat
◆shutil
◆struct
◆binascii
◆threading
zlib
bz2
lzma
◆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, 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 |
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
70 structCentralDir <4s4B4HL2L5H2L
71 structFileHeader <4s2B4HL2L2H
72 structEndArchive64Locator <4sLQL
73 structEndArchive64 <4sQ2H2L4Q
74 compressor_names {0: ‘store’, 1: ‘shrink’, 2: ‘reduce’, 3: ‘reduce’, 4: ‘reduce’, 5: ‘reduce’, 6: ‘implode’, 7: ‘tokenize’, 8: ‘deflate’,…
io, fullname=io, file=io.py
os, fullname=os, file=os.py
importlib, fullname=importlib, file=importlib_init_.py
导入的纯Python实现。
sys, fullname=sys, file=
time, fullname=time, file=
stat, fullname=stat, file=stat.py
shutil, fullname=shutil, file=shutil.py
struct, fullname=struct, file=struct.py
binascii, fullname=binascii, file=
二进制数据和ASCII之间的转换
threading, fullname=threading, file=threading.py
线程模块,模拟Java线程模型的子集。
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()。
bz2, fullname=bz2, file=bz2.py
到libbzip2压缩库的接口。
该模块提供了一个文件接口、用于增量压缩(解压缩)的类以及用于一次性压缩(解压缩)的函数。
lzma, fullname=lzma, file=lzma.py
到liblzma压缩库的接口。
这个模块提供了一个用于读写压缩文件的类,用于增量压缩(解压缩)的类,以及用于一次性压缩(解压缩)的方便函数。
这些类和函数同时支持XZ和遗留的LZMA容器格式,以及原始压缩数据流。
_strip_extra(extra, xids), module=zipfile, line:166 at zipfile.py
_check_zipfile(fp), module=zipfile, line:185 at zipfile.py
is_zipfile(filename), module=zipfile, line:193 at zipfile.py
通过检查magic数字,快速查看文件是否是ZIP文件。
filename参数也可以是一个文件或类文件对象。
_EndRecData64(fpin, offset, endrec), module=zipfile, line:209 at zipfile.py
读取ZIP64归档结束记录并使用它来更新endrec
_EndRecData(fpin), module=zipfile, line:252 at zipfile.py
从“中央目录终止符”记录返回数据或None。
数据是ZIP“End of central dir”中9项的列表
记录后面跟着第十项,该文件求该记录的偏移量。
_gen_crc(crc), module=zipfile, line:550 at zipfile.py
_ZipDecrypter(pwd), module=zipfile, line:566 at zipfile.py
_check_compression(compression), module=zipfile, line:675 at zipfile.py
_get_compressor(compress_type, compresslevel=None), module=zipfile, line:694 at zipfile.py
_get_decompressor(compress_type), module=zipfile, line:710 at zipfile.py
main(args=None), module=zipfile, line:2116 at zipfile.py
BadZipFile, zipfile.BadZipFile, module=zipfile, line:0 at
LargeZipFile, zipfile.LargeZipFile, module=zipfile, line:0 at
在编写zip文件时引发,该zipfile需要ZIP64扩展名,而这些扩展名已被禁用。
BadZipFile, zipfile.BadZipFile, module=zipfile, line:0 at
BadZipFile, zipfile.BadZipFile, module=zipfile, line:0 at
ZipInfo, zipfile.ZipInfo, module=zipfile, line:0 at
类,其属性描述ZIP归档中的每个文件。
1 CRC=
kind:data type:member_descriptor class:
2 comment=kind:data type:member_descriptor class:
3 compress_size=kind:data type:member_descriptor class:
4 compress_type=kind:data type:member_descriptor class:
5 create_system=kind:data type:member_descriptor class:
6 create_version=kind:data type:member_descriptor class:
7 date_time=kind:data type:member_descriptor class:
8 external_attr=kind:data type:member_descriptor class:
9 extra=kind:data type:member_descriptor class:
10 extract_version=kind:data type:member_descriptor class:
11 file_size=kind:data type:member_descriptor class:
12 filename=kind:data type:member_descriptor class:
13 flag_bits=kind:data type:member_descriptor class:
14 header_offset=kind:data type:member_descriptor class:
15 internal_attr=kind:data type:member_descriptor class:
16 orig_filename=kind:data type:member_descriptor class:
17 reserved=kind:data type:member_descriptor class:
18 volume=kind:data type:member_descriptor class:
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。
21 from_file(cls, filename, arcname=None)
kind=class method class=ZipInfo objtype=classmethod line:507 at …\zipfile.py
classmethod(function) -> method
转换函数为类方法。
LZMACompressor, zipfile.LZMACompressor, module=zipfile, line:0 at
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
LZMADecompressor, zipfile.LZMADecompressor, module=zipfile, line:0 at
1 decompress(self, data)
kind=method class=LZMADecompressor objtype=function line:634 at …\zipfile.py
_SharedFile, zipfile._SharedFile, module=zipfile, line:0 at
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
_Tellable, zipfile._Tellable, module=zipfile, line:0 at
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
ZipExtFile, zipfile.ZipExtFile, module=zipfile, line:0 at
用于读取存档成员的类文件对象。由ZipFile.open()返回。
1 MAX_N=1073741824 kind:data type:int class:
2 MAX_SEEK_READ=16777216 kind:data type:int class:
3 MIN_READ_SIZE=4096 kind:data type:int class:
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
_ZipWriteFile, zipfile._ZipWriteFile, module=zipfile, line:0 at
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
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的整数。
1 fp=None kind:data type:NoneType class:
2 comment=
kind:property type:property class:
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实例或归档文件中的文件名。
PyZipFile, zipfile.PyZipFile, module=zipfile, line:0 at
类使用Python库文件和包创建ZIP归档。
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
166 _strip_extra
167 _check_zipfile
168 _EndRecData64
169 _EndRecData
170 _crctable None
171 _gen_crc
172 _ZipDecrypter
173 _check_compression
174 _get_compressor
175 _get_decompressor
176 _SharedFile
177 _Tellable
178 _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
188 _crctable None
io, fullname=io, file=io.py
os, fullname=os, file=os.py
importlib, fullname=importlib, file=importlib_init_.py
sys, fullname=sys, file=
time, fullname=time, file=
stat, fullname=stat, file=stat.py
shutil, fullname=shutil, file=shutil.py
struct, fullname=struct, file=struct.py
binascii, fullname=binascii, file=
二进制数据和ASCII之间的转换
threading, fullname=threading, file=threading.py
线程模块,模拟Java线程模型的子集。
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 |
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
21 ZLIB_VERSION 1.2.11
22 ZLIB_RUNTIME_VERSION 1.2.11
error, zlib.error, module=zlib, line:0 at
24 adler32
25 compress
26 compressobj
27 crc32
28 decompress
29 decompressobj
bz2, fullname=bz2, file=bz2.py
参见 bz2 模块。
到libbzip2压缩库的接口。
该模块提供了一个文件接口、用于增量压缩(解压缩)的类以及用于一次性压缩(解压缩)的函数。
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 |
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
builtins, fullname=builtins, file=
io, fullname=io, file=io.py
os, fullname=os, file=os.py
_compression, fullname=_compression, file=_compression.py
gzip、lzma和bz2模块使用的内部类
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实例,使用指定的编码、错误处理行为和行结束。
compress(data, format=1, check=-1, preset=None, filters=None), module=lzma, line:310 at lzma.py
压缩一个数据块。
关于可选参数*format*, *check*, *preset*和*filters*的描述请参考LZMACompressor的文档字符串。
对于增量压缩,使用 LZMACompressor 压缩器代替。
decompress(data, format=0, memlimit=None, filters=None), module=lzma, line:322 at lzma.py
解压缩数据块。
可选参数*format*, *check*和*filters*的描述请参考LZMADecompressor的文档字符串。
对于增量解压缩,使用 LZMADecompressor 代替。
LZMAError, _lzma.LZMAError, module=_lzma, line:0 at
调用liblzma失败。
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()函数。
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
完成压缩过程。
返回保留在内部缓冲区中的压缩数据。
在调用此方法后,可能不会使用压缩器对象。
LZMADecompressor, _lzma.LZMADecompressor, module=_lzma, line:0 at
创建一个解压缩对象,用于增量地解压缩数据。
format
输入流的容器格式。如果这是FORMAT_AUTO(默认值),解压缩器将自动检测输入是FORMAT_XZ还是FORMAT_ALONE。
使用FORMAT_RAW创建的流不能自动检测。
memlimit
限制解压程序使用的内存量。
如果输入不能在给定的限制内解压缩,这将导致解压缩失败。
filters
自定义过滤器链。这个参数对于FORMAT_RAW是必需的,不接受任何其他格式。
当提供时,这应该是一个字典序列,每个字典表示单个过滤器的ID和选项。
对于一次性解压,请使用decompress()函数。
1 check=
kind:data type:member_descriptor class:
2 eof=kind:data type:member_descriptor class:
3 needs_input=kind:data type:member_descriptor class:
4 unused_data=kind:data type:member_descriptor class:
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。流结束后发现的任何数据都将被忽略,并保存在未使用的数据属性中。
LZMAFile, lzma.LZMAFile, module=lzma, line:0 at
提供透明LZMA (de)compression 的文件对象。
LZMAFile可以作为现有文件对象的包装器,或者直接引用磁盘上的已命名文件。
注意LZMAFile提供了一个二进制文件接口——读取的数据以字节的形式返回,写入的数据必须以字节的形式给出。
1 closed=
kind:property type:property class:
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
49 _MODE_CLOSED 0
50 _MODE_READ 1
51 _MODE_WRITE 3