一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術(shù)及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - Python實現(xiàn)文件壓縮和解壓的示例代碼

Python實現(xiàn)文件壓縮和解壓的示例代碼

2020-08-13 00:10TalkPython Python

這篇文章主要介紹了Python實現(xiàn)文件壓縮和解壓的方法,幫助大家更好的理解和學習python,感興趣的朋友可以了解下

大家可能都熟悉.zip格式的文件。它可以把多個文件,壓縮成一個文件。這在網(wǎng)絡上傳輸時很有用,而且節(jié)省硬盤空間。

接下來,我們使用Python實現(xiàn)壓縮和解壓。

讀取ZIP文件信息

要讀取ZIP文件的內(nèi)容,首先必須創(chuàng)建一個ZipFile對象。ZipFile對象在概念上與File對象相似。

要創(chuàng)建一個 ZipFile 對象,就調(diào)用 zipfile.ZipFile()函數(shù),向它傳入一個字符串,表示.zip 文件的文件名。 請注意,zipfile 是 Python 模塊的名稱,ZipFile()是函數(shù)的名稱。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
import zipfile
 
# 傳入壓縮文件zfile.zip獲取相關(guān)信息
zip_file = zipfile.ZipFile('zfile.zip')
 
# 獲取壓縮文件中的內(nèi)容
f_content = zip_file.namelist()
 
# 壓縮前的大小
f_size = zip_file.getinfo('zfile/a.txt').file_size
 
# 壓縮后的大小
c_size = zip_file.getinfo('zfile/a.txt').compress_size

ZipFile 對象有一個 namelist()方法,返回 ZIP 文件中包含的所有文件和文件夾 的字符串的列表。這些字符串可以傳遞給 ZipFile 對象的 getinfo()方法,返回一個關(guān) 于特定文件的 ZipInfo 對象。ZipInfo 對象有自己的屬性,諸如表示字節(jié)數(shù)的 file_size 和 compress_size,它們分別表示原來文件大小和壓縮后文件大小。ZipFile 對象表示 整個歸檔文件,而 ZipInfo 對象則保存該歸檔文件中每個文件的有用信息。

從 ZIP 文件中解壓縮

ZipFile 對象的 extractall()方法從 ZIP 文件中解壓縮所有文件和文件夾,放到當 前工作目錄中。

?
1
2
3
4
5
6
import zipfile
 
zip_file = zipfile.ZipFile('zfile.zip')
# 解壓
zip_extract = zip_file.extractall()
zip_extract.close()

運行這段代碼后, example.zip 的內(nèi)容將被解壓縮到 C:\。 或者, 你可以向 extractall()傳遞的一個文件夾名稱,它將文件解壓縮到那個文件夾,而不是當前工作 目錄。如果傳遞給 extractall()方法的文件夾不存在,它會被創(chuàng)建。例如,如果你用 exampleZip.extractall('C:\ delicious')取代?處的調(diào)用,代碼就會從 example.zip 中解壓 縮文件,放到新創(chuàng)建的 C:\delicious 文件夾中。
ZipFile 對象的 extract()方法從 ZIP 文件中解壓縮單個文件。

創(chuàng)建和添加到 ZIP 文件

要創(chuàng)建你自己的壓縮 ZIP 文件,必須以“寫模式”打開 ZipFile 對象,即傳入'w' 作為第二個參數(shù)(這類似于向 open()函數(shù)傳入'w',以寫模式打開一個文本文件)。

如果向 ZipFile 對象的 write()方法傳入一個路徑,Python 就會壓縮該路徑所指 的文件,將它加到 ZIP 文件中。write()方法的第一個參數(shù)是一個字符串,代表要添 加的文件名。第二個參數(shù)是“壓縮類型”參數(shù),它告訴計算機使用怎樣的算法來壓 縮文件。可以總是將這個值設置為 zipfile.ZIP_DEFLATED(這指定了 deflate 壓縮 算法,它對各種類型的數(shù)據(jù)都很有效)。

?
1
2
3
4
5
6
7
8
import zipfile
 
zip_file = zipfile.ZipFile('new.zip','w')
# 把zfile整個目錄下所有內(nèi)容,壓縮為new.zip文件
zip_file.write('zfile',compress_type=zipfile.ZIP_DEFLATED)
# 把c.txt文件壓縮成一個壓縮文件
# zip_file.write('c.txt',compress_type=zipfile.ZIP_DEFLATED)
zip_file.close()

這段代碼將創(chuàng)建一個新的 ZIP 文件,名為 new.zip,它包含 spam.txt 壓縮后的內(nèi)容。
要記住,就像寫入文件一樣,寫模式將擦除 ZIP 文件中所有原有的內(nèi)容。如果 只是希望將文件添加到原有的 ZIP 文件中,就要向 zipfile.ZipFile()傳入'a'作為第二 個參數(shù),以追加模式打開 ZIP 文件。

以上就是Python實現(xiàn)文件壓縮和解壓的示例代碼的詳細內(nèi)容,更多關(guān)于python 壓縮和解壓的資料請關(guān)注服務器之家其它相關(guān)文章!

原文鏈接:https://cloud.tencent.com/developer/article/1431438

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 久久毛片免费看一区二区三区 | 三级网站午夜三级 | 热久久天天拍天天拍热久久2018 | 四虎影视入口 | 1769亚洲欧美资源站 | 人体做爰aaaa免费 | www亚洲国产 | 国产在线精品香蕉综合网一区 | 人禽l交视频在线播放 视频 | 高清国产精品久久久久 | 男人插女人软件 | 韩国免费特一级毛片 | 亚洲国产精品自产在线播放 | 国产夜趣福利第一视频 | 处女摘花视频 | 人人揉人人爽五月天视频 | 色偷偷91久久综合噜噜噜 | 2012年中文字幕在线看 | sao虎在线精品永久 s0e一923春菜花在线播放 | 精品亚洲午夜久久久久 | 天堂网在线网站成人午夜网站 | 太粗 好紧 使劲舒服 | 国产黄频在线观看 | 2020国产精品视频免费 | 国产精品一区二区三区免费 | 色碰视频 | 波多野结衣女老师 | 美日韩在线观看 | 午夜第九达达兔鲁鲁 | 亚洲 在线 日韩 欧美 | les在宿舍吃她奶 | 亚洲人的天堂男人爽爽爽 | 九九九九视频 | 乌克兰成人性色生活片 | 国产精品视频一区二区三区经 | 国产在线欧美日韩精品一区二区 | 九九久久精品 | 女人pp被扒开流水了 | 五月一区二区久久综合天堂 | 国产精品毛片久久久久久久 | 超强台风免费观看完整版视频 |