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