<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                ## 問題 你想讀寫一個gzip或bz2格式的壓縮文件。 ## 解決方案 `gzip` 和 `bz2` 模塊可以很容易的處理這些文件。兩個模塊都為 `open()` 函數提供了另外的實現來解決這個問題。比如,為了以文本形式讀取壓縮文件,可以這樣做: # gzip compression import gzip with gzip.open('somefile.gz', 'rt') as f: text = f.read() # bz2 compression import bz2 with bz2.open('somefile.bz2', 'rt') as f: text = f.read() 類似的,為了寫入壓縮數據,可以這樣做: # gzip compression import gzip with gzip.open('somefile.gz', 'wt') as f: f.write(text) # bz2 compression import bz2 with bz2.open('somefile.bz2', 'wt') as f: f.write(text) 如上,所有的I/O操作都使用文本模式并執行Unicode的編碼/解碼。類似的,如果你想操作二進制數據,使用rb或者wb文件模式即可。 ## 討論 大部分情況下讀寫壓縮數據都是很簡單的。但是要注意的是選擇一個正確的文件模式是非常重要的。如果你不指定模式,那么默認的就是二進制模式,如果這時候程序想要接受的是文本數據,那么就會出錯。`gzip.open()` 和 `bz2.open()` 接受跟內置的 `open()` 函數一樣的參數,包括 `encoding`,`errors`,`newline` 等等。 當寫入壓縮數據時,可以使用 `compresslevel` 這個可選的關鍵字參數來指定一個壓縮級別。比如: with gzip.open('somefile.gz', 'wt', compresslevel=5) as f: f.write(text) 默認的等級是9,也是最高的壓縮等級。等級越低性能越好,但是數據壓縮程度也越低。 最后一點,`gzip.open()` 和 `bz2.open()` 還有一個很少被知道的特性,它們可以作用在一個已存在并以二進制模式打開的文件上。比如,下面代碼是可行的: import gzip f = open('somefile.gz', 'rb') with gzip.open(f, 'rt') as g: text = g.read() 這樣就允許 `gzip` 和 `bz2` 模塊可以工作在許多類文件對象上,比如套接字,管道和內存中文件等。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看