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

您的位置:首頁技術文章
文章詳情頁

無需壓縮軟件,用python幫你操作壓縮包

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

寫在之前

壓縮包是互聯網上軟件發布的標準格式,同時對于系統管理很有用處。當我們需要將多份文件發送給別人的時候,最好通過壓縮包的形式發送,還有在備份某些文件的時候,為了減少磁盤空間的占用,也需要對備份的數據進行壓縮。

Python 中有一系列對壓縮包進行處理的工具,包括創建壓縮包,解壓壓縮包以及獲取壓縮包中的文件列表等,今天的文章,我們就來學習一下與壓縮包相關的 Python 標準庫。

管理 zip 壓縮包

在大多數情況下,我們在 Windows 下使用 zip 進行壓縮,在 Linux 下使用 gzip 或者 bzip2 進行壓縮。這一部分,我們來看一下如何管理 zip 格式的壓縮包。

1.讀取 zip

Python 管理 zip 主要使用 zipfile 模塊,這個模塊里有一個名為 ZipFile 的對象,我們通過將 zip 壓縮包的名稱傳遞給這個對象的函數,這樣就打開了一個 zip 壓縮包并獲得一個 ZipFile 的對象,然后使用這個對象的方法去讀取 zip 壓縮包里的內容。具體如下所示:

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

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

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

2.創建 zip

與文件的方式類似,如果想要創建一個 zip 格式的壓縮文件,必須要以「寫」的模式打開 zip 文件,需要說一點的是,ZipFile 的對象是通過 write 方法來添加文件的。具體如下所示:

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

上面的代碼是創建了一個名為 test.zip 的新 zip 文件,它包含 test.py 壓縮后的內容。

管理 tar 包

tar 命令一般是在 Linux 系統中創建壓縮包,并且可以指定壓縮包的壓縮算法。此外 tar 命令也可以創建一個不壓縮的 tar 包,僅僅是為了能把多個文件進行打包便于傳輸。這也就是說,我們在使用 tar 命令的時候,既可以創建普通的 tar 包,也可以創建使用壓縮算法壓縮過的壓縮包。

Python 中使用 tarfile 標準庫提供了 tar 命令提供的功能,我們也可以使用它創建一個壓縮或者一個非壓縮的 tar 包。我之前很多次說過 Python 的簡潔優雅體現在方方面面,在這里體現在 tarfile 模塊比 Linux 下的 tar 命令用起來更加舒服。

1.讀取 tar 包

同樣讀取 tar 包和 Python 的文件管理操作類似,讀寫一個壓縮包,需要執行打開操作,同時指定打開模式,并且在操作完成以后關閉文件,當然在這里我們可以使用上下文管理器來保證文件的關閉邏輯。具體如下所示:

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

上面的代碼中,導入 tarfile 庫,使用默認的讀模式打開 tar 包,tarfile.open() 函數返回一個 TarFile 對象,這個對象表示當前打開的 tar 包,我們可以通過這個對象的方法操作和讀取 tar 包中的內容。

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

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

2.創建 tar 包

從上面的例子中可以看到,讀一個 tar 包與讀一個文件類似,都是以「讀」的方式打開文件并得到一個對象,然后通過這個對象的方法去操作文件。同樣創建一個 tar 包和寫一個文件也比較類似。具體如下所示:

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

上面的代碼中,由于我們是創建一個 tar 包,所以以「寫」模式打開 tar 包并得到一個 TarFile 對象,然后使用 TarFile 對象的 add 方法將 test.py 文件添加到 tar 包中。

3.tarfile 讀取和創建壓縮包

上面我們用 targfile 創建和讀取未壓縮的 tar 包,但是一般情況下,我們創建 tar 包的時候都會使用壓縮算法進行壓縮,以加快傳輸速度和減少占用的磁盤空間。

使用 tarfile 創建和讀取壓縮包非常簡單,只要在打開文件時指定壓縮算法即可。對于 tarfile 的 open 函數,以「打開模式:壓縮算法」的形式打開即可。具體如下所示:

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

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

b. 創建一個用 bzip2 算法壓縮的 tar 包:

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

以上就是無需壓縮軟件,用python幫你操作壓縮包的詳細內容,更多關于python 壓縮包的資料請關注好吧啦網其它相關文章!

標簽: Python 編程
主站蜘蛛池模板: 免费视频成人国产精品网站 | 精品欧美一区二区三区在线 | 日本成a人片在线观看网址 日本成年人视频网站 | 亚洲国产精品一区二区三区久久 | 亚洲综合第一欧美日韩中文 | 热99re久久精品香蕉 | 国产精品久久永久免费 | 国产三级做爰在线观看视频 | 大桥未久在线精品视频在线 | 特级a毛片| 亚洲综合久久久 | 久久久国产乱子伦精品 | 国产99精品一区二区三区免费 | a级片在线免费看 | 欧美日韩免费播放一区二区 | 亚洲爽视频 | 日韩午夜三级 | 亚洲久草在线 | 精品91一区二区三区 | 亚洲va中文字幕欧美不卡 | 亚洲欧美日韩精品久久亚洲区色播 | 日韩第五页 | 国产天堂亚洲精品 | 99九九成人免费视频精品 | 一本色道久久88亚洲精品综合 | 亚洲精品久久片久久 | 亚洲成人第一页 | 爽爽爽爽爽爽爽成人免费观看 | 中文字幕视频网站 | 久久久精品一区二区三区 | 韩国一级黄色大片 | 色偷偷亚洲女人天堂观看欧 | 亚洲一区二区三区四区 | 国产一级一片免费播放视频 | 国产成人精品曰本亚洲 | 精品久久一区二区三区 | 免费萌白酱国产一区二区三区 | 欧美激情精品久久久久久久久久 | 99精品99 | 日本手机看片 | 一级做a爰片久久毛片欧美 一级做a爰片久久毛片人呢 |