国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

無(wú)需壓縮軟件,用python幫你操作壓縮包

瀏覽:30日期:2022-07-13 18:24:14

寫(xiě)在之前

壓縮包是互聯(lián)網(wǎng)上軟件發(fā)布的標(biāo)準(zhǔn)格式,同時(shí)對(duì)于系統(tǒng)管理很有用處。當(dāng)我們需要將多份文件發(fā)送給別人的時(shí)候,最好通過(guò)壓縮包的形式發(fā)送,還有在備份某些文件的時(shí)候,為了減少磁盤(pán)空間的占用,也需要對(duì)備份的數(shù)據(jù)進(jìn)行壓縮。

Python 中有一系列對(duì)壓縮包進(jìn)行處理的工具,包括創(chuàng)建壓縮包,解壓壓縮包以及獲取壓縮包中的文件列表等,今天的文章,我們就來(lái)學(xué)習(xí)一下與壓縮包相關(guān)的 Python 標(biāo)準(zhǔn)庫(kù)。

管理 zip 壓縮包

在大多數(shù)情況下,我們?cè)?Windows 下使用 zip 進(jìn)行壓縮,在 Linux 下使用 gzip 或者 bzip2 進(jìn)行壓縮。這一部分,我們來(lái)看一下如何管理 zip 格式的壓縮包。

1.讀取 zip

Python 管理 zip 主要使用 zipfile 模塊,這個(gè)模塊里有一個(gè)名為 ZipFile 的對(duì)象,我們通過(guò)將 zip 壓縮包的名稱(chēng)傳遞給這個(gè)對(duì)象的函數(shù),這樣就打開(kāi)了一個(gè) zip 壓縮包并獲得一個(gè) ZipFile 的對(duì)象,然后使用這個(gè)對(duì)象的方法去讀取 zip 壓縮包里的內(nèi)容。具體如下所示:

>>> import zipfile>>> first_zip = zipfile.ZipFile(’test.zip’)>>> first_zip.namelist()

namelist() 是 ZipFile 中的常用方法,初次以外還比較常用的方法有 extract,extractall:

namelist:返回一個(gè)列表,列表中是 zip 中包含的所有文件和文件夾; extract:從 zip 中提取單個(gè)文件 extarctall:從 zip 文件中提取所有文件

2.創(chuàng)建 zip

與文件的方式類(lèi)似,如果想要?jiǎng)?chuàng)建一個(gè) zip 格式的壓縮文件,必須要以「寫(xiě)」的模式打開(kāi) zip 文件,需要說(shuō)一點(diǎn)的是,ZipFile 的對(duì)象是通過(guò) write 方法來(lái)添加文件的。具體如下所示:

>>> import zipfile>>> my_zip = zipfile.ZipFile(’test.zip’, ’w’)>>> my_zip.write(’test.py’)>>> my_zip.close()

上面的代碼是創(chuàng)建了一個(gè)名為 test.zip 的新 zip 文件,它包含 test.py 壓縮后的內(nèi)容。

管理 tar 包

tar 命令一般是在 Linux 系統(tǒng)中創(chuàng)建壓縮包,并且可以指定壓縮包的壓縮算法。此外 tar 命令也可以創(chuàng)建一個(gè)不壓縮的 tar 包,僅僅是為了能把多個(gè)文件進(jìn)行打包便于傳輸。這也就是說(shuō),我們?cè)谑褂?tar 命令的時(shí)候,既可以創(chuàng)建普通的 tar 包,也可以創(chuàng)建使用壓縮算法壓縮過(guò)的壓縮包。

Python 中使用 tarfile 標(biāo)準(zhǔn)庫(kù)提供了 tar 命令提供的功能,我們也可以使用它創(chuàng)建一個(gè)壓縮或者一個(gè)非壓縮的 tar 包。我之前很多次說(shuō)過(guò) Python 的簡(jiǎn)潔優(yōu)雅體現(xiàn)在方方面面,在這里體現(xiàn)在 tarfile 模塊比 Linux 下的 tar 命令用起來(lái)更加舒服。

1.讀取 tar 包

同樣讀取 tar 包和 Python 的文件管理操作類(lèi)似,讀寫(xiě)一個(gè)壓縮包,需要執(zhí)行打開(kāi)操作,同時(shí)指定打開(kāi)模式,并且在操作完成以后關(guān)閉文件,當(dāng)然在這里我們可以使用上下文管理器來(lái)保證文件的關(guān)閉邏輯。具體如下所示:

>>> import tarfile>>> with tarfile.open(’etc.tar’) as t:... for member in t.getmembers():... print(member.name)

上面的代碼中,導(dǎo)入 tarfile 庫(kù),使用默認(rèn)的讀模式打開(kāi) tar 包,tarfile.open() 函數(shù)返回一個(gè) TarFile 對(duì)象,這個(gè)對(duì)象表示當(dāng)前打開(kāi)的 tar 包,我們可以通過(guò)這個(gè)對(duì)象的方法操作和讀取 tar 包中的內(nèi)容。

tarfile 中有不少函數(shù),其中最常用的有 getnames,extract,extractall 函數(shù):

getnames:獲取 tar 包中的文件列表; extract:提取單個(gè)文件; extractall:提取所有文件。

2.創(chuàng)建 tar 包

從上面的例子中可以看到,讀一個(gè) tar 包與讀一個(gè)文件類(lèi)似,都是以「讀」的方式打開(kāi)文件并得到一個(gè)對(duì)象,然后通過(guò)這個(gè)對(duì)象的方法去操作文件。同樣創(chuàng)建一個(gè) tar 包和寫(xiě)一個(gè)文件也比較類(lèi)似。具體如下所示:

>>> import tarfile>>> with tarfile.open(’etc.tar’, mode=’w’) as f:... f.add(’test.py’)

上面的代碼中,由于我們是創(chuàng)建一個(gè) tar 包,所以以「寫(xiě)」模式打開(kāi) tar 包并得到一個(gè) TarFile 對(duì)象,然后使用 TarFile 對(duì)象的 add 方法將 test.py 文件添加到 tar 包中。

3.tarfile 讀取和創(chuàng)建壓縮包

上面我們用 targfile 創(chuàng)建和讀取未壓縮的 tar 包,但是一般情況下,我們創(chuàng)建 tar 包的時(shí)候都會(huì)使用壓縮算法進(jìn)行壓縮,以加快傳輸速度和減少占用的磁盤(pán)空間。

使用 tarfile 創(chuàng)建和讀取壓縮包非常簡(jiǎn)單,只要在打開(kāi)文件時(shí)指定壓縮算法即可。對(duì)于 tarfile 的 open 函數(shù),以「打開(kāi)模式:壓縮算法」的形式打開(kāi)即可。具體如下所示:

a. 讀取一個(gè)用 gzip 算法壓縮的 tar 包:

>>> import tarfile>>> with tarfile.open(’etc.tar’, mode=’r:gz’) as f:

b. 創(chuàng)建一個(gè)用 bzip2 算法壓縮的 tar 包:

>>> import tarfile>>> with tarfile.open(’etc.tar’, mode=’w:bz2’) as f:

以上就是無(wú)需壓縮軟件,用python幫你操作壓縮包的詳細(xì)內(nèi)容,更多關(guān)于python 壓縮包的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Python 編程
主站蜘蛛池模板: 日本aaa成人毛片 | xxx免费视频 | 日本一级毛片中文字幕 | 免费看成人播放毛片 | 高清国产美女一级毛片 | 日韩成人免费在线视频 | 久久免费精品一区二区 | heyzo北条麻妃久久 | 色多多最新地址福利地址 | 亚洲成人一级片 | 一区二区三区免费视频 www | 亚洲毛片免费看 | 亚洲精品久久一区毛片 | 久久机热综合久久国产 | 女人18毛片a级毛片 女人aaaaa片一级一毛片 | 亚洲天堂视频在线观看 | 亚洲国产福利精品一区二区 | 久久伊人成人网 | 一级一黄在线观看视频免费 | www亚洲一区| 午夜精品久久久久久99热7777 | a毛片久久免费观看 | 久久精品国产亚洲网址 | 日本三级11k影院在线 | 好湿好紧好痛a级是免费视频 | 一区二区三区不卡在线观看 | 毛色毛片免费看 | 国产成人午夜精品免费视频 | 日韩成人一级 | freesexvideo性欧美tv2021 | 99国内精品 | 全部免费毛片在线 | 欧美一级高清片免费一级 | 国产综合精品一区二区 | 日韩欧美二区 | 国产成人丝袜网站在线观看 | 国产a级特黄的片子视频免费 | 亚洲欧美视频一区二区 | 黄色毛片三级 | 全国男人的天堂网 | 国产日产欧美a级毛片 |