佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > python壓包的概念及實例詳解

python壓包的概念及實例詳解

熱門標(biāo)簽:電話運(yùn)營中心 呼叫中心市場需求 企業(yè)做大做強(qiáng) Win7旗艦版 語音系統(tǒng) 客戶服務(wù) 百度AI接口 硅谷的囚徒呼叫中心

對于一些分解后的元素,我們也是有重新歸類的需要。那么我們把解包的恢復(fù)過程,叫做壓包。這里要用到zip函數(shù)的方法,對元素重新進(jìn)行打包處理,在之前的學(xué)習(xí)中我們已經(jīng)對zip函數(shù)有所接觸。下面我們就python壓包的概念、方法進(jìn)行介紹,然后帶來相關(guān)的實例使用。

1、概念

壓包是解包的逆過程,用zip函數(shù)實現(xiàn)。

2、方法

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

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

3、實例

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

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

知識點(diǎn)擴(kuò)展

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文件中去,再關(guān)閉操作連接。

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")) #寫入新文件當(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ù)方法的大小寫一點(diǎn)要看仔細(xì),如果gzip文件是這種形式的:*.tar.gz,證明先是由tar命令壓縮后,后再由 gzip壓縮的,需要先用解壓縮tar文件,再用gzip模塊解壓縮。其實,現(xiàn)在很多網(wǎng)頁為了提高瀏覽器端用戶的訪問速度,和搜索引擎爬蟲抓取的速度,都在使用gzip壓縮。

到此這篇關(guān)于python壓包的概念及實例詳解的文章就介紹到這了,更多相關(guān)python壓包是什么內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

標(biāo)簽:山西 海南 崇左 長沙 安康 喀什 山西 濟(jì)南

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《python壓包的概念及實例詳解》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    大田县| 峨山| 会昌县| 津南区| 新晃| 永登县| 利津县| 宣城市| 五常市| 梨树县| 辽阳县| 永嘉县| 临沭县| 汽车| 盈江县| 玛曲县| 吉安县| 阳原县| 大新县| 永新县| 河源市| 黔南| 海门市| 河津市| 武山县| 承德县| 平塘县| 桑日县| 普洱| 万载县| 丽水市| 山东省| 江口县| 湘潭县| 肥东县| 双流县| 常德市| 秭归县| 东丰县| 同德县| 安吉县|