欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python讀寫壓縮文件的方法

 更新時間:2020年07月30日 15:25:17   作者:David Beazley  
這篇文章主要介紹了Python讀寫壓縮文件的方法,文中講解非常細致,代碼幫助大家更好的理解和學習,感興趣的朋友可以了解下

問題

你想讀寫一個gzip或bz2格式的壓縮文件。

解決方案

gzip bz2 模塊可以很容易的處理這些文件。 兩個模塊都為 open() 函數(shù)提供了另外的實現(xiàn)來解決這個問題。 比如,為了以文本形式讀取壓縮文件,可以這樣做:

# 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()

類似的,為了寫入壓縮數(shù)據(jù),可以這樣做:

# 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操作都使用文本模式并執(zhí)行Unicode的編碼/解碼。 類似的,如果你想操作二進制數(shù)據(jù),使用 rb 或者 wb 文件模式即可。

討論

大部分情況下讀寫壓縮數(shù)據(jù)都是很簡單的。但是要注意的是選擇一個正確的文件模式是非常重要的。 如果你不指定模式,那么默認的就是二進制模式,如果這時候程序想要接受的是文本數(shù)據(jù),那么就會出錯。 gzip.open()bz2.open() 接受跟內置的 open() 函數(shù)一樣的參數(shù), 包括 encoding,errors,newline 等等。

當寫入壓縮數(shù)據(jù)時,可以使用 compresslevel 這個可選的關鍵字參數(shù)來指定一個壓縮級別。比如:

with gzip.open('somefile.gz', 'wt', compresslevel=5) as f:
  f.write(text)

默認的等級是9,也是最高的壓縮等級。等級越低性能越好,但是數(shù)據(jù)壓縮程度也越低。

最后一點, gzip.open() bz2.open() 還有一個很少被知道的特性, 它們可以作用在一個已存在并以二進制模式打開的文件上。比如,下面代碼是可行的:

import gzip
f = open('somefile.gz', 'rb')
with gzip.open(f, 'rt') as g:
  text = g.read()

這樣就允許 gzip bz2 模塊可以工作在許多類文件對象上,比如套接字,管道和內存中文件等。

以上就是Python讀寫壓縮文件的方法的詳細內容,更多關于Python 讀寫壓縮文件的資料請關注腳本之家其它相關文章!

相關文章

  • Python實現(xiàn)for循環(huán)倒序遍歷列表

    Python實現(xiàn)for循環(huán)倒序遍歷列表

    這篇文章主要介紹了Python實現(xiàn)for循環(huán)倒序遍歷列表,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • python實現(xiàn)事件驅動

    python實現(xiàn)事件驅動

    這篇文章主要為大家詳細介紹了python實現(xiàn)事件驅動的相關資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-11-11
  • Python如何安裝mysql數(shù)據(jù)庫模塊

    Python如何安裝mysql數(shù)據(jù)庫模塊

    這篇文章主要介紹了Python如何安裝mysql數(shù)據(jù)庫模塊問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • Win10下Python環(huán)境搭建與配置教程

    Win10下Python環(huán)境搭建與配置教程

    這篇文章主要為大家詳細介紹了Windows10下Python環(huán)境搭建與配置,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-11-11
  • Python的裝飾器用法學習筆記

    Python的裝飾器用法學習筆記

    這篇文章主要介紹了Python的裝飾器用法學習筆記,裝飾器的使用是Python編程中的高級技巧,需要的朋友可以參考下
    2016-06-06
  • 詳解python itertools功能

    詳解python itertools功能

    itertools是python內置的模塊,使用簡單且功能強大,這里嘗試匯總整理下,并提供簡單應用示例,這篇文章主要介紹了python itertools功能,需要的朋友可以參考下
    2020-02-02
  • 一文教你Python如何創(chuàng)建屬于自己的IP池

    一文教你Python如何創(chuàng)建屬于自己的IP池

    這篇文章主要為大家詳細介紹了python如何創(chuàng)建屬于自己的IP池,文中的示例代碼講解詳細,對我們學習或工作有一定參考價值,需要的可以參考一下
    2022-04-04
  • Python切割圖片成九宮格的示例代碼

    Python切割圖片成九宮格的示例代碼

    這篇文章主要介紹了Python切割圖片成九宮格的相關知識,本文通過截圖實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-03-03
  • 深入了解Python iter() 方法的用法

    深入了解Python iter() 方法的用法

    這篇文章主要介紹了深入了解Python iter() 方法的知識,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-07-07
  • python3中calendar返回某一時間點實例講解

    python3中calendar返回某一時間點實例講解

    在本篇內容里小編給大家整理了關于python3中calendar返回某一時間點實例講解內容,有興趣的朋友們可以參考學習下。
    2020-11-11

最新評論