bz2 您所在的位置:网站首页 python二进制文件的读取与写入方法 bz2

bz2

2023-06-12 10:36| 来源: 网络整理| 查看: 265

用二进制模式打开 bzip2 压缩文件。

如果 filename 是一个 str 或 bytes 对象,则打开名称对应的文件目录。 否则的话,filename 应当是一个 file object,它将被用来读取或写入压缩数据。

mode 参数可以是表示读取的 'r' (默认值),表示覆写的 'w',表示单独创建的 'x',或表示添加的 'a'。 这些模式还可分别以 'rb', 'wb', 'xb' 和 'ab' 的等价形式给出。

如果 filename 是一个文件对象(而不是实际的文件名),则 'w' 模式并不会截断文件,而是会等价于 'a'。

如果 mode 为 'w' 或 'a',则 compresslevel 可以是 1 到 9 之间的整数,用于指定压缩等级: 1 产生最低压缩率,而 9 (默认值) 产生最高压缩率。

如果 mode 为 'r',则输入文件可以为多个压缩流的拼接。

BZ2File 提供了 io.BufferedIOBase 所指定的所有成员,但 detach() 和 truncate() 除外。 并支持迭代和 with 语句。

BZ2File 还提供了以下方法:

peek([n])¶

返回缓冲的数据而不前移文件位置。 至少将返回一个字节的数据(除非为 EOF)。 实际返回的字节数不确定。

备注

虽然调用 peek() 不会改变 BZ2File 的文件位置,但它可能改变下层文件对象的位置(举例来说如果 BZ2File 是通过传入一个文件对象作为 filename 的话)。

在 3.3 版本加入.

在 3.1 版本发生变更: 添加了对 with 语句的支持。

在 3.3 版本发生变更: 添加了 fileno(), readable(), seekable(), writable(), read1() 和 readinto() 方法。

在 3.3 版本发生变更: 添加了对 filename 使用 file object 而非实际文件名的支持。

在 3.3 版本发生变更: 添加了 'a' (append) 模式,以及对读取多数据流文件的支持。

在 3.4 版本发生变更: 添加了 'x' (单独创建) 模式。

在 3.5 版本发生变更: read() 方法现在接受 None 作为参数。

在 3.6 版本发生变更: 接受一个 path-like object。

在 3.9 版本发生变更: buffering 形参已被移除。 它自 Python 3.0 起即被忽略并弃用。 请传入一个打开文件对象来控制文件的打开方式。

compresslevel 形参成为仅限关键字参数。

在 3.10 版本发生变更: 这个类在面对多个同时读取器和写入器时是线程安全的,就如它在 gzip 和 lzma 中的等价类所具有的特性一样。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有