国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-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 編程
主站蜘蛛池模板: 中文字幕在线观看一区二区 | 亚洲欧美久久精品1区2区 | 欧美激情久久久久久久久 | 国产毛片网站 | 成人国产精品999视频 | 泰国情欲片寂寞的寡妇在线观看 | 日韩在线精品 | 欧美精品久久天天躁 | 国产综合第一页 | 国产成年| 全国最大色成免费网站 | 99精品网| 香港三澳门三日本三级 | 国外免费一级 | 中日韩精品视频在线观看 | 精品亚洲福利一区二区 | 国产婷婷成人久久av免费高清 | 做爰成人五级在线视频| 国产午夜精品理论片在线 | 久久国产精品-久久精品 | 欧美精品综合一区二区三区 | 亚洲视频在线观看 | 性视频网站在线 | 久久精品香蕉视频 | 精品三级网站 | 欧美大片国产在线永久播放 | 国产精品人伦久久 | 成 人 黄 色 视频 免费观看 | 91精品国产综合久久香蕉 | 美女黄色免费在线观看 | 久久精品成人国产午夜 | 久久福利资源网站免费看 | 国产精品秦先生手机在线 | 国产91香蕉视频 | 日本a级片免费观看 | 国产黄色自拍 | 亚洲成人免费视频 | 欧美激情视频在线观看一区二区三区 | 欧美另类 videos黑人极品 | 精品久久免费视频 | 韩国美女一级毛片 |