python壓包的概念及實例詳解
對于一些分解后的元素,我們也是有重新歸類的需要。那么我們把解包的恢復過程,叫做壓包。這里要用到zip函數(shù)的方法,對元素重新進行打包處理,在之前的學習中我們已經(jīng)對zip函數(shù)有所接觸。下面我們就python壓包的概念、方法進行介紹,然后帶來相關的實例使用。
1、概念
壓包是解包的逆過程,用zip函數(shù)實現(xiàn)。
2、方法
(1)zip() 函數(shù)用于將可迭代的對象作為參數(shù),將對象中對應的元素打包成一個個元組,然后返回由這些元組組成的對象(Python3)。
(2)如果各個迭代器的元素個數(shù)不一致,則返回列表長度與最短的對象相同,利用*號操作符,可以將元組解壓為列表。
3、實例
先是zip函數(shù)將a b壓包成為一個可迭代對象,對可迭代對象的每一個元素((‘a(chǎn)', 1))進行解包(i, j = (‘a(chǎn)', 1)),此時就可以分別調(diào)用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")#創(chuàng)建壓縮文件對象 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參數(shù)是壓縮文件內(nèi)文件的名字,為空也可以,不修改。fileobj是生成的壓縮文件對象,它的路徑名稱等。最后是把文件寫入gzip文件中去,再關閉操作連接。
2.Python--gzip解壓ZIP文件:
import gzip f = gzip.open("data.txt.gz", 'rb') #打開壓縮文件對象 f_out=open("data.txt","w") #打開解壓后內(nèi)容保存的文件 file_content = f.read() #讀取解壓后文件內(nèi)容 f_out.write(file_content.decode("utf-8")) #寫入新文件當中 print(file_content) #打印讀取內(nèi)容 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())
使用的時候注意,函數(shù)方法的大小寫一點要看仔細,如果gzip文件是這種形式的:*.tar.gz,證明先是由tar命令壓縮后,后再由 gzip壓縮的,需要先用解壓縮tar文件,再用gzip模塊解壓縮。其實,現(xiàn)在很多網(wǎng)頁為了提高瀏覽器端用戶的訪問速度,和搜索引擎爬蟲抓取的速度,都在使用gzip壓縮。
到此這篇關于python壓包的概念及實例詳解的文章就介紹到這了,更多相關python壓包是什么內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Python中使用tarfile壓縮、解壓tar歸檔文件示例
這篇文章主要介紹了Python中使用tarfile壓縮、解壓tar歸檔文件示例,本文直接給出解壓和壓縮代碼示例,需要的朋友可以參考下2015-04-04python 讀寫csv文件方式(創(chuàng)建,追加,覆蓋)
這篇文章主要介紹了python 讀寫csv文件方式(創(chuàng)建,追加,覆蓋),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-05-05用python的turtle模塊實現(xiàn)給女票畫個小心心
今天小編就為大家分享一篇用python的turtle模塊實現(xiàn)給女票畫個小心心,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-11-11Python中實現(xiàn)輸入超時及如何通過變量獲取變量名
這篇文章主要介紹了Python中實現(xiàn)輸入超時以及通過變量獲取變量的名字,本文給大家分享了解決思路主要是通過多線程法實現(xiàn),需要的朋友可以參考下2020-01-01