本篇主要讲解高级文件和目录的处理模块。
1、bz2模块
bz2
模块用于根据bzip2
压缩算法读取和写入压缩数据。
BZ2File(filename [, mode [,buffering [, compresslevel]]])
打开一份名为filename
的.bz2
文件,返回一个类文件对象。当mode
为r
时表示读取,为w
是表示写入,为rU
时,还可以获取统一的换行支持。 buffering
规定了缓存大小(字节数),默认值为0
(无缓存)。 compresslevel
为 1-9
之间的一个数字,值为9
(默认)是压缩程度最大,但占用的压缩时间也最长。返回的对象支持全部的常见文件操作,包括 close()、read()、readline()、readlines()、seek()、tell()、write()和writelines()
。
BZ2Compressor ([compresslevel])
创建用于顺序压缩数据块序列的压缩对象。compresslevel
为指定压缩级别,用1-9的数字表示,默认为9
。
BZ2Compressor 的实例 c 有如下俩中方法。
c.compress(data)
将一串新的数据添加到压缩器对象c中。如果可能,返回一串压缩的数据。因为压缩涉及多个数据块,所以返回的字符可能没有涵盖全部的数据,可能包含上次调用compress()
返回的数据。在输入所有数据之后,使用flush()
方法返回存储在压缩器中的所有剩余数据。
c.flush()
刷新内部缓存区并返回一串包含全部剩余数据的压缩字符串。执行该操作以后,不应再对此对象调用compress()。
BZ2Decompressor()
创建一个解压缩对象
BZ2Decompressor
的实例d
仅支持一种方法:
d.decompress(data)
假设在字符串data
中有一个压缩数据的数据块,改方法可以返回解压的数据。因为数据时候成块处理吃的,所以返回的字符串可能包含data
中税网全部信息,也可能不包含。重复调用这一方法,继续解压,直到输入中出现数据流结束标记为止。但如果再这之后试图继续执行解压数据操作,就会提示 EOFError
异常。
compress(data [, compresslevel)
返回字符串data中数据的一个压缩版。compresslevel
为指定压缩级别,用1-9的数字表示,默认为9。
decompress(data)
返回一串包含字符串data解压的字符串
后面陆续更新