2019-04-08 23:22:26 +08:00

1 line
25 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<div class="body" role="main"><div class="section" id="module-bz2"><h1><span class="yiyi-st" id="yiyi-10">13.3. <a class="reference internal" href="#module-bz2" title="bz2: Interfaces for bzip2 compression and decompression."><code class="xref py py-mod docutils literal"><span class="pre">bz2</span></code></a> - 支持<strong class="program">bzip2</strong>压缩</span></h1><p><span class="yiyi-st" id="yiyi-11"><strong>源代码:</strong> <a class="reference external" href="https://hg.python.org/cpython/file/3.5/Lib/bz2.py">Lib / bz2.py</a></span></p><p><span class="yiyi-st" id="yiyi-12">此模块提供了一个全面的接口用于使用bzip2压缩算法压缩和解压缩数据。</span></p><p><span class="yiyi-st" id="yiyi-13"><a class="reference internal" href="#module-bz2" title="bz2: Interfaces for bzip2 compression and decompression."><code class="xref py py-mod docutils literal"><span class="pre">bz2</span></code></a>模块包含:</span></p><ul class="simple"><li><span class="yiyi-st" id="yiyi-14">用于读取和写入压缩文件的<a class="reference internal" href="#bz2.open" title="bz2.open"><code class="xref py py-func docutils literal"><span class="pre">open()</span></code></a>函数和<a class="reference internal" href="#bz2.BZ2File" title="bz2.BZ2File"><code class="xref py py-class docutils literal"><span class="pre">BZ2File</span></code></a>类。</span></li><li><span class="yiyi-st" id="yiyi-15">增量de压缩的<a class="reference internal" href="#bz2.BZ2Compressor" title="bz2.BZ2Compressor"><code class="xref py py-class docutils literal"><span class="pre">BZ2Compressor</span></code></a><a class="reference internal" href="#bz2.BZ2Decompressor" title="bz2.BZ2Decompressor"><code class="xref py py-class docutils literal"><span class="pre">BZ2Decompressor</span></code></a>类。</span></li><li><span class="yiyi-st" id="yiyi-16">用于单次de压缩的<a class="reference internal" href="#bz2.compress" title="bz2.compress"><code class="xref py py-func docutils literal"><span class="pre">compress()</span></code></a><a class="reference internal" href="#bz2.decompress" title="bz2.decompress"><code class="xref py py-func docutils literal"><span class="pre">decompress()</span></code></a>函数。</span></li></ul><p><span class="yiyi-st" id="yiyi-17">可以安全地从多个线程访问此模块中的所有类。</span></p><div class="section" id="de-compression-of-files"><h2><span class="yiyi-st" id="yiyi-18">13.3.1. </span><span class="yiyi-st" id="yiyi-19">De压缩文件</span></h2><dl class="function"><dt id="bz2.open"><span class="yiyi-st" id="yiyi-20"> <code class="descclassname">bz2.</code><code class="descname">open</code><span class="sig-paren">(</span><em>filename</em>, <em>mode='r'</em>, <em>compresslevel=9</em>, <em>encoding=None</em>, <em>errors=None</em>, <em>newline=None</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-21">在二进制或文本模式下打开bzip2压缩文件返回<a class="reference internal" href="../glossary.html#term-file-object"><span class="xref std std-term">file object</span></a></span></p><p><span class="yiyi-st" id="yiyi-22"><a class="reference internal" href="#bz2.BZ2File" title="bz2.BZ2File"><code class="xref py py-class docutils literal"><span class="pre">BZ2File</span></code></a>的构造函数一样,<em>filename</em>参数可以是实际文件名(<a class="reference internal" href="stdtypes.html#str" title="str"><code class="xref py py-class docutils literal"><span class="pre">str</span></code></a><a class="reference internal" href="functions.html#bytes" title="bytes"><code class="xref py py-class docutils literal"><span class="pre">bytes</span></code></a> object ,或要读取或写入的现有文件对象。</span></p><p><span class="yiyi-st" id="yiyi-23">The <em>mode</em> argument can be any of <code class="docutils literal"><span class="pre">'r'</span></code>, <code class="docutils literal"><span class="pre">'rb'</span></code>, <code class="docutils literal"><span class="pre">'w'</span></code>, <code class="docutils literal"><span class="pre">'wb'</span></code>, <code class="docutils literal"><span class="pre">'x'</span></code>, <code class="docutils literal"><span class="pre">'xb'</span></code>, <code class="docutils literal"><span class="pre">'a'</span></code> or <code class="docutils literal"><span class="pre">'ab'</span></code> for binary mode, or <code class="docutils literal"><span class="pre">'rt'</span></code>, <code class="docutils literal"><span class="pre">'wt'</span></code>, <code class="docutils literal"><span class="pre">'xt'</span></code>, or <code class="docutils literal"><span class="pre">'at'</span></code> for text mode. </span><span class="yiyi-st" id="yiyi-24">默认值为<code class="docutils literal"><span class="pre">'rb'</span></code></span></p><p><span class="yiyi-st" id="yiyi-25"><em>compresslevel</em>参数是一个从1到9的整数对于<a class="reference internal" href="#bz2.BZ2File" title="bz2.BZ2File"><code class="xref py py-class docutils literal"><span class="pre">BZ2File</span></code></a>构造函数。</span></p><p><span class="yiyi-st" id="yiyi-26">对于二进制模式,此函数等效于<a class="reference internal" href="#bz2.BZ2File" title="bz2.BZ2File"><code class="xref py py-class docutils literal"><span class="pre">BZ2File</span></code></a>构造函数:<code class="docutils literal"><span class="pre">BZ2Filefilename</span> <span class="pre">mode</span> <span class="pre">compresslevel = compresslevel </span></code></span><span class="yiyi-st" id="yiyi-27">在这种情况下,不能提供<em>编码</em><em>错误</em><em>新行</em>参数。</span></p><p><span class="yiyi-st" id="yiyi-28">对于文本模式,将创建<a class="reference internal" href="#bz2.BZ2File" title="bz2.BZ2File"><code class="xref py py-class docutils literal"><span class="pre">BZ2File</span></code></a>对象,并将其包装在具有指定编码,错误处理行为和行结尾的<a class="reference internal" href="io.html#io.TextIOWrapper" title="io.TextIOWrapper"><code class="xref py py-class docutils literal"><span class="pre">io.TextIOWrapper</span></code></a>实例中。</span></p><div class="versionadded"><p><span class="yiyi-st" id="yiyi-29"><span class="versionmodified">版本3.3中的新功能。</span></span></p></div><div class="versionchanged"><p><span class="yiyi-st" id="yiyi-30"><span class="versionmodified">在版本3.4中已更改:</span>添加了<code class="docutils literal"><span class="pre">'x'</span></code>(独占创建)模式。</span></p></div></dd></dl><dl class="class"><dt id="bz2.BZ2File"><span class="yiyi-st" id="yiyi-31"> <em class="property">class </em><code class="descclassname">bz2.</code><code class="descname">BZ2File</code><span class="sig-paren">(</span><em>filename</em>, <em>mode='r'</em>, <em>buffering=None</em>, <em>compresslevel=9</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-32">以二进制模式打开bzip2压缩文件。</span></p><p><span class="yiyi-st" id="yiyi-33">如果<em>filename</em><a class="reference internal" href="stdtypes.html#str" title="str"><code class="xref py py-class docutils literal"><span class="pre">str</span></code></a><a class="reference internal" href="functions.html#bytes" title="bytes"><code class="xref py py-class docutils literal"><span class="pre">bytes</span></code></a>对象,请直接打开命名文件。</span><span class="yiyi-st" id="yiyi-34">否则,<em>filename</em>应为<a class="reference internal" href="../glossary.html#term-file-object"><span class="xref std std-term">file object</span></a>,将用于读取或写入压缩数据。</span></p><p><span class="yiyi-st" id="yiyi-35">The <em>mode</em> argument can be either <code class="docutils literal"><span class="pre">'r'</span></code> for reading (default), <code class="docutils literal"><span class="pre">'w'</span></code> for overwriting, <code class="docutils literal"><span class="pre">'x'</span></code> for exclusive creation, or <code class="docutils literal"><span class="pre">'a'</span></code> for appending. </span><span class="yiyi-st" id="yiyi-36">这些可以等效地分别给出为<code class="docutils literal"><span class="pre">'rb'</span></code><code class="docutils literal"><span class="pre">'wb'</span></code><code class="docutils literal"><span class="pre">'xb'</span></code><code class="docutils literal"><span class="pre">'ab'</span></code></span></p><p><span class="yiyi-st" id="yiyi-37">如果<em>filename</em>是文件对象(而不是实际文件名),则<code class="docutils literal"><span class="pre">'w'</span></code>的模式不截断文件,而是等效于<code class="docutils literal"><span class="pre">'a'</span></code></span></p><p><span class="yiyi-st" id="yiyi-38">将忽略<em>缓冲</em>参数。</span><span class="yiyi-st" id="yiyi-39">其使用已被弃用。</span></p><p><span class="yiyi-st" id="yiyi-40">If <em>mode</em> is <code class="docutils literal"><span class="pre">'w'</span></code> or <code class="docutils literal"><span class="pre">'a'</span></code>, <em>compresslevel</em> can be a number between <code class="docutils literal"><span class="pre">1</span></code> and <code class="docutils literal"><span class="pre">9</span></code> specifying the level of compression: <code class="docutils literal"><span class="pre">1</span></code> produces the least compression, and <code class="docutils literal"><span class="pre">9</span></code> (default) produces the most compression.</span></p><p><span class="yiyi-st" id="yiyi-41">如果<em>模式</em><code class="docutils literal"><span class="pre">'r'</span></code>,则输入文件可以是多个压缩流的串联。</span></p><p><span class="yiyi-st" id="yiyi-42"><code class="xref py py-meth docutils literal"><span class="pre">detach()</span></code><code class="xref py py-meth docutils literal"><span class="pre">truncate()</span></code>之外,<a class="reference internal" href="#bz2.BZ2File" title="bz2.BZ2File"><code class="xref py py-class docutils literal"><span class="pre">BZ2File</span></code></a>提供由<a class="reference internal" href="io.html#io.BufferedIOBase" title="io.BufferedIOBase"><code class="xref py py-class docutils literal"><span class="pre">io.BufferedIOBase</span></code></a>指定的所有成员。</span><span class="yiyi-st" id="yiyi-43">支持迭代和<a class="reference internal" href="../reference/compound_stmts.html#with"><code class="xref std std-keyword docutils literal"><span class="pre">with</span></code></a>语句。</span></p><p><span class="yiyi-st" id="yiyi-44"><a class="reference internal" href="#bz2.BZ2File" title="bz2.BZ2File"><code class="xref py py-class docutils literal"><span class="pre">BZ2File</span></code></a>还提供以下方法:</span></p><dl class="method"><dt id="bz2.BZ2File.peek"><span class="yiyi-st" id="yiyi-45"> <code class="descname">peek</code><span class="sig-paren">(</span><span class="optional">[</span><em>n</em><span class="optional">]</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-46">返回缓冲数据,而不提前文件位置。</span><span class="yiyi-st" id="yiyi-47">将返回至少一个字节的数据除非在EOF</span><span class="yiyi-st" id="yiyi-48">返回的确切字节数未指定。</span></p><div class="admonition note"><p class="first admonition-title"><span class="yiyi-st" id="yiyi-49">注意</span></p><p class="last"><span class="yiyi-st" id="yiyi-50">调用<a class="reference internal" href="#bz2.BZ2File.peek" title="bz2.BZ2File.peek"><code class="xref py py-meth docutils literal"><span class="pre">peek()</span></code></a>不会更改<a class="reference internal" href="#bz2.BZ2File" title="bz2.BZ2File"><code class="xref py py-class docutils literal"><span class="pre">BZ2File</span></code></a>的文件位置,它可能会更改底层文件对象的位置。</span><span class="yiyi-st" id="yiyi-51">如果<a class="reference internal" href="#bz2.BZ2File" title="bz2.BZ2File"><code class="xref py py-class docutils literal"><span class="pre">BZ2File</span></code></a>是通过传递<em>filename</em>的文件对象构建的)。</span></p></div><div class="versionadded"><p><span class="yiyi-st" id="yiyi-52"><span class="versionmodified">版本3.3中的新功能。</span></span></p></div></dd></dl><div class="versionchanged"><p><span class="yiyi-st" id="yiyi-53"><span class="versionmodified">在版本3.1中已更改:</span>添加了对<a class="reference internal" href="../reference/compound_stmts.html#with"><code class="xref std std-keyword docutils literal"><span class="pre">with</span></code></a>语句的支持。</span></p></div><div class="versionchanged"><p><span class="yiyi-st" id="yiyi-54"><span class="versionmodified">Changed in version 3.3: </span>The <code class="xref py py-meth docutils literal"><span class="pre">fileno()</span></code>, <code class="xref py py-meth docutils literal"><span class="pre">readable()</span></code>, <code class="xref py py-meth docutils literal"><span class="pre">seekable()</span></code>, <code class="xref py py-meth docutils literal"><span class="pre">writable()</span></code>, <code class="xref py py-meth docutils literal"><span class="pre">read1()</span></code> and <code class="xref py py-meth docutils literal"><span class="pre">readinto()</span></code> methods were added.</span></p></div><div class="versionchanged"><p><span class="yiyi-st" id="yiyi-55"><span class="versionmodified">在版本3.3中更改了</span><em>文件名</em>作为<a class="reference internal" href="../glossary.html#term-file-object"><span class="xref std std-term">file object</span></a>添加了支持,而不是实际文件名。</span></p></div><div class="versionchanged"><p><span class="yiyi-st" id="yiyi-56"><span class="versionmodified">在版本3.3中已更改:</span>添加了<code class="docutils literal"><span class="pre">'a'</span></code>append模式以及支持读取多流文件。</span></p></div><div class="versionchanged"><p><span class="yiyi-st" id="yiyi-57"><span class="versionmodified">在版本3.4中已更改:</span>添加了<code class="docutils literal"><span class="pre">'x'</span></code>(独占创建)模式。</span></p></div><div class="versionchanged"><p><span class="yiyi-st" id="yiyi-58"><span class="versionmodified">在版本3.5中更改:</span> <a class="reference internal" href="io.html#io.BufferedIOBase.read" title="io.BufferedIOBase.read"><code class="xref py py-meth docutils literal"><span class="pre">read()</span></code></a>方法现在接受<code class="docutils literal"><span class="pre">None</span></code>的参数。</span></p></div></dd></dl></div><div class="section" id="incremental-de-compression"><h2><span class="yiyi-st" id="yiyi-59">13.3.2. </span><span class="yiyi-st" id="yiyi-60">增量(反)压缩</span></h2><dl class="class"><dt id="bz2.BZ2Compressor"><span class="yiyi-st" id="yiyi-61"> <em class="property">class </em><code class="descclassname">bz2.</code><code class="descname">BZ2Compressor</code><span class="sig-paren">(</span><em>compresslevel=9</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-62">创建新的压缩器对象。</span><span class="yiyi-st" id="yiyi-63">该对象可以用于递增地压缩数据。</span><span class="yiyi-st" id="yiyi-64">对于单次压缩,请改用<a class="reference internal" href="#bz2.compress" title="bz2.compress"><code class="xref py py-func docutils literal"><span class="pre">compress()</span></code></a>函数。</span></p><p><span class="yiyi-st" id="yiyi-65"><em>compresslevel</em>(如果给定)必须是<code class="docutils literal"><span class="pre">1</span></code><code class="docutils literal"><span class="pre">9</span></code>之间的数字。</span><span class="yiyi-st" id="yiyi-66">默认值为<code class="docutils literal"><span class="pre">9</span></code></span></p><dl class="method"><dt id="bz2.BZ2Compressor.compress"><span class="yiyi-st" id="yiyi-67"> <code class="descname">compress</code><span class="sig-paren">(</span><em>data</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-68">向压缩器对象提供数据。</span><span class="yiyi-st" id="yiyi-69">如果可能,返回一组压缩数据,否则返回一个空字节字符串。</span></p><p><span class="yiyi-st" id="yiyi-70">当您完成向压缩器提供数据后,调用<a class="reference internal" href="#bz2.BZ2Compressor.flush" title="bz2.BZ2Compressor.flush"><code class="xref py py-meth docutils literal"><span class="pre">flush()</span></code></a>方法完成压缩过程。</span></p></dd></dl><dl class="method"><dt id="bz2.BZ2Compressor.flush"><span class="yiyi-st" id="yiyi-71"> <code class="descname">flush</code><span class="sig-paren">(</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-72">完成压缩过程。</span><span class="yiyi-st" id="yiyi-73">返回内部缓冲区中剩余的压缩数据。</span></p><p><span class="yiyi-st" id="yiyi-74">在调用此方法后,可能不会使用压缩器对象。</span></p></dd></dl></dd></dl><dl class="class"><dt id="bz2.BZ2Decompressor"><span class="yiyi-st" id="yiyi-75"> <em class="property">class </em><code class="descclassname">bz2.</code><code class="descname">BZ2Decompressor</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-76">创建一个新的解压缩对象。</span><span class="yiyi-st" id="yiyi-77">该对象可以用于递增地解压缩数据。</span><span class="yiyi-st" id="yiyi-78">对于单次压缩,请改用<a class="reference internal" href="#bz2.decompress" title="bz2.decompress"><code class="xref py py-func docutils literal"><span class="pre">decompress()</span></code></a>函数。</span></p><div class="admonition note"><p class="first admonition-title"><span class="yiyi-st" id="yiyi-79">注意</span></p><p class="last"><span class="yiyi-st" id="yiyi-80"><a class="reference internal" href="#bz2.decompress" title="bz2.decompress"><code class="xref py py-func docutils literal"><span class="pre">decompress()</span></code></a><a class="reference internal" href="#bz2.BZ2File" title="bz2.BZ2File"><code class="xref py py-class docutils literal"><span class="pre">BZ2File</span></code></a>不同,此类不透明地处理包含多个压缩流的输入。</span><span class="yiyi-st" id="yiyi-81">如果需要使用<a class="reference internal" href="#bz2.BZ2Decompressor" title="bz2.BZ2Decompressor"><code class="xref py py-class docutils literal"><span class="pre">BZ2Decompressor</span></code></a>解压缩多流输入,则必须为每个流使用一个新的解压缩器。</span></p></div><dl class="method"><dt id="bz2.BZ2Decompressor.decompress"><span class="yiyi-st" id="yiyi-82"> <code class="descname">decompress</code><span class="sig-paren">(</span><em>data</em>, <em>max_length=-1</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-83">解压缩<em>数据</em>a <a class="reference internal" href="../glossary.html#term-bytes-like-object"><span class="xref std std-term">bytes-like object</span></a>),以字节形式返回未压缩数据。</span><span class="yiyi-st" id="yiyi-84">一些<em>数据</em>可以在内部缓冲,以便稍后调用<a class="reference internal" href="#bz2.decompress" title="bz2.decompress"><code class="xref py py-meth docutils literal"><span class="pre">decompress()</span></code></a></span><span class="yiyi-st" id="yiyi-85">返回的数据应与之前对<a class="reference internal" href="#bz2.decompress" title="bz2.decompress"><code class="xref py py-meth docutils literal"><span class="pre">decompress()</span></code></a>的任何调用的输出连接。</span></p><p><span class="yiyi-st" id="yiyi-86">如果<em>max_length</em>为非负数,则返回至多<em>max_length</em>字节的解压缩数据。</span><span class="yiyi-st" id="yiyi-87">如果达到此限制并且可以产生进一步输出,则<a class="reference internal" href="#bz2.BZ2Decompressor.needs_input" title="bz2.BZ2Decompressor.needs_input"><code class="xref py py-attr docutils literal"><span class="pre">needs_input</span></code></a>属性将设置为<code class="docutils literal"><span class="pre">False</span></code></span><span class="yiyi-st" id="yiyi-88">在这种情况下,对<a class="reference internal" href="#bz2.BZ2Decompressor.decompress" title="bz2.BZ2Decompressor.decompress"><code class="xref py py-meth docutils literal"><span class="pre">decompress()</span></code></a>的下一个调用可以提供<em>数据</em>作为<code class="docutils literal"><span class="pre">b''</span></code>以获得更多的输出。</span></p><p><span class="yiyi-st" id="yiyi-89">如果所有输入数据都解压缩并返回(因为它小于<em>max_length</em>字节,或因为<em>max_length</em>为负数),则<a class="reference internal" href="#bz2.BZ2Decompressor.needs_input" title="bz2.BZ2Decompressor.needs_input"><code class="xref py py-attr docutils literal"><span class="pre">needs_input</span></code></a>属性将设置为<code class="docutils literal"><span class="pre">True</span></code></span></p><p><span class="yiyi-st" id="yiyi-90">在流到达结束后尝试解压缩数据引发<cite>EOFError</cite></span><span class="yiyi-st" id="yiyi-91">在流结束后找到的任何数据都将被忽略,并保存在<a class="reference internal" href="#bz2.BZ2Decompressor.unused_data" title="bz2.BZ2Decompressor.unused_data"><code class="xref py py-attr docutils literal"><span class="pre">unused_data</span></code></a>属性中。</span></p><div class="versionchanged"><p><span class="yiyi-st" id="yiyi-92"><span class="versionmodified">在版本3.5中已更改:</span>添加了<em>max_length</em>参数。</span></p></div></dd></dl><dl class="attribute"><dt id="bz2.BZ2Decompressor.eof"><span class="yiyi-st" id="yiyi-93"> <code class="descname">eof</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-94"><code class="docutils literal"><span class="pre">True</span></code>如果已达到流结束标记。</span></p><div class="versionadded"><p><span class="yiyi-st" id="yiyi-95"><span class="versionmodified">版本3.3中的新功能。</span></span></p></div></dd></dl><dl class="attribute"><dt id="bz2.BZ2Decompressor.unused_data"><span class="yiyi-st" id="yiyi-96"> <code class="descname">unused_data</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-97">压缩流结束后找到的数据。</span></p><p><span class="yiyi-st" id="yiyi-98">如果在达到流的结束之前访问此属性,则其值将为<code class="docutils literal"><span class="pre">b''</span></code></span></p></dd></dl><dl class="attribute"><dt id="bz2.BZ2Decompressor.needs_input"><span class="yiyi-st" id="yiyi-99"> <code class="descname">needs_input</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-100"><code class="docutils literal"><span class="pre">False</span></code>如果<a class="reference internal" href="#bz2.BZ2Decompressor.decompress" title="bz2.BZ2Decompressor.decompress"><code class="xref py py-meth docutils literal"><span class="pre">decompress()</span></code></a>方法可以在需要新的未压缩输入之前提供更多解压缩数据。</span></p><div class="versionadded"><p><span class="yiyi-st" id="yiyi-101"><span class="versionmodified">版本3.5中的新功能。</span></span></p></div></dd></dl></dd></dl></div><div class="section" id="one-shot-de-compression"><h2><span class="yiyi-st" id="yiyi-102">13.3.3. </span><span class="yiyi-st" id="yiyi-103">一次性de压缩</span></h2><dl class="function"><dt id="bz2.compress"><span class="yiyi-st" id="yiyi-104"> <code class="descclassname">bz2.</code><code class="descname">compress</code><span class="sig-paren">(</span><em>data</em>, <em>compresslevel=9</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-105">压缩<em>数据</em></span></p><p><span class="yiyi-st" id="yiyi-106"><em>compresslevel</em>(如果给定)必须是<code class="docutils literal"><span class="pre">1</span></code><code class="docutils literal"><span class="pre">9</span></code>之间的数字。</span><span class="yiyi-st" id="yiyi-107">默认值为<code class="docutils literal"><span class="pre">9</span></code></span></p><p><span class="yiyi-st" id="yiyi-108">对于增量压缩,请改用<a class="reference internal" href="#bz2.BZ2Compressor" title="bz2.BZ2Compressor"><code class="xref py py-class docutils literal"><span class="pre">BZ2Compressor</span></code></a></span></p></dd></dl><dl class="function"><dt id="bz2.decompress"><span class="yiyi-st" id="yiyi-109"> <code class="descclassname">bz2.</code><code class="descname">decompress</code><span class="sig-paren">(</span><em>data</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-110">解压缩<em>数据</em></span></p><p><span class="yiyi-st" id="yiyi-111">如果<em>data</em>是多个压缩流的连接,则解压缩所有流。</span></p><p><span class="yiyi-st" id="yiyi-112">对于增量解压缩,请改用<a class="reference internal" href="#bz2.BZ2Decompressor" title="bz2.BZ2Decompressor"><code class="xref py py-class docutils literal"><span class="pre">BZ2Decompressor</span></code></a></span></p><div class="versionchanged"><p><span class="yiyi-st" id="yiyi-113"><span class="versionmodified">在版本3.3中已更改:</span>添加了对多流输入的支持。</span></p></div></dd></dl></div></div></div>