python壓包的概念及實例詳解

對於一些分解後的元素,我們也是有重新歸類的需要。那麼我們把解包的恢復過程,叫做壓包。這裡要用到zip函數的方法,對元素重新進行打包處理,在之前的學習中我們已經對zip函數有所接觸。下面我們就python壓包的概念、方法進行介紹,然後帶來相關的實例使用。

1、概念

壓包是解包的逆過程,用zip函數實現。

2、方法

(1)zip() 函數用於將可迭代的對象作為參數,將對象中對應的元素打包成一個個元組,然後返回由這些元組組成的對象(Python3)。

(2)如果各個迭代器的元素個數不一致,則返回列表長度與最短的對象相同,利用*號操作符,可以將元組解壓為列表。

3、實例

先是zip函數將a b壓包成為一個可迭代對象,對可迭代對象的每一個元素((‘a’, 1))進行解包(i, j = (‘a’, 1)),此時就可以分別調用i j變量進行計算。

>>> a = [0, 1, 2]
>>> b = [1, 2, 3]
>>> for i, j in zip(a, b):
...   print(i+j)
...
1
3
5

知識點擴展

1.Python–gzip壓縮ZIP文件:

import gzip
f_src = open("data.txt", "rb") #打開文件
f_tar= gzip.open("data.txt.gz", "wb")#創建壓縮文件對象
f_tar.writelines(f_src)
f_tar.close()
f_src.close()
import gzip 
g = gzip.GzipFile(filename="", mode="wb", compresslevel=9, fileobj=open('sitemap.log.gz', 'wb'))
g.write(open('d:\\test\\sitemap.xml').read())
g.close()

其中,filename參數是壓縮文件內文件的名字,為空也可以,不修改。fileobj是生成的壓縮文件對象,它的路徑名稱等。最後是把文件寫入gzip文件中去,再關閉操作連接。

2.Python–gzip解壓ZIP文件:

import gzip
f = gzip.open("data.txt.gz", 'rb')    #打開壓縮文件對象
f_out=open("data.txt","w")        #打開解壓後內容保存的文件
file_content = f.read()          #讀取解壓後文件內容
f_out.write(file_content.decode("utf-8")) #寫入新文件當中
print(file_content)            #打印讀取內容
f.close()
f_out.close()
g = gzip.GzipFile(mode="rb", fileobj=open('d:\\test\\sitemap.log.gz', 'rb'))
open(r"d:\\haha.xml", "wb").write(g.read())

使用的時候註意,函數方法的大小寫一點要看仔細,如果gzip文件是這種形式的:*.tar.gz,證明先是由tar命令壓縮後,後再由 gzip壓縮的,需要先用解壓縮tar文件,再用gzip模塊解壓縮。其實,現在很多網頁為瞭提高瀏覽器端用戶的訪問速度,和搜索引擎爬蟲抓取的速度,都在使用gzip壓縮。

到此這篇關於python壓包的概念及實例詳解的文章就介紹到這瞭,更多相關python壓包是什麼內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!