首頁  >  文章  >  後端開發  >  如何使用Python壓縮/解壓縮zip檔? (程式碼範例)

如何使用Python壓縮/解壓縮zip檔? (程式碼範例)

青灯夜游
青灯夜游原創
2019-02-18 10:35:0028019瀏覽

在批次交換大檔案和多個檔案時,使用zip檔案是非常方便的。以下這篇文章就來帶大家來認識zip文件,介紹使用Python壓縮或解壓縮zip檔案的方法,希望對大家有幫助。 【影片教學推薦:Python教學

如何使用Python壓縮/解壓縮zip檔? (程式碼範例)

#什麼是zip檔?

zip檔案是使用稱為zip的資料壓縮格式壓縮的檔案。資料壓縮將根據一定規則以較短格式來表達資料。例如,「aaaaaaaaaa」用「a10」來表達的話,可以縮短7個字元。

Zip是這種壓縮/解壓縮規則的通用格式,它被用作Windows和Mac OS上的標準功能,也可以與Python中的zipfile標準庫一起使用。

使用zip,我們可以壓縮和解壓縮一個或多個檔案、資料夾。透過將其壓縮為zip文件,可以以小尺寸分發大容量的文件,並且可以集中地傳送複雜結構的文件和資料夾。

除了zip之外,資料壓縮的格式還有rar,tar.gz,7z等,但zip是使用最廣泛的。

如何使用Python壓縮或解壓縮zip檔?

要使用python來壓縮或解壓縮zip文件,我們需要將使用一個名為zipfile的內建python模組。

如何使用Python壓縮zip檔?

import zipfile
with zipfile.ZipFile(zip文件名, "w", zipfile.ZIP_DEFLATED) as zf:
  zf.write(要压缩的文件名,zip文件中的文件名)

說明:

透過import關鍵字可以匯入並使用zipfile函式庫。以with開頭的行表示要處理zip檔。如果要壓縮,需要在第一參數中填入zip檔名來建立一個zip檔、第二參數中指定「w」、第三參數是zip檔的壓縮格式。

附註:要建立常規的zip文件,需要輸入zipfile.ZIP_DEFLATED;省略的話,則預設指定ZIP_STORED (不壓縮)。另外,有以下的種類:

  ●    zipfile.ZIP_STORED:不壓縮。一次製作多個檔案(預設)

  ●    zipfile.ZIP_DEFLATED:一般zip壓縮

  ●    zipfile.ZIP_BZIP 2:BZIP 2壓縮#MA#MA# zipfile.ZIP_BZIP 2:BZIP 2壓縮#MA#MA# 

如何使用Python解壓縮zip檔?

import zipfile
 with zipfile.ZipFile(zip文件名) as zf:
   zf.extractall()
 說明:

在解壓縮的情況下,透過import關鍵字可以匯入並使用zipfile函式庫,並在以with開頭的行上指定目標zip檔名;解壓縮指定extractall方法。

使用Python壓縮或解壓縮zip檔案的範例
#下面我們透過範例來看看如何使用Python壓縮/解壓縮zip文件,確認zipfile的寫法。

首先我們需要建立一個要壓縮的檔案。

hello.txt

你好!
欢迎来到PHP中文网,学习Python!
接下來我們來看看如何進行壓縮。

zip.py

import zipfile
with zipfile.ZipFile('hello.zip', "w", zipfile.ZIP_DEFLATED) as zf:
    zf.write("hello.txt","hello.txt")
執行時,會在與程式相同的資料夾中建立一個包含「hello.txt」檔案的「hello.zip」文件。

接下來我們來看看如何進行解壓縮。


unzip.py

import zipfile
with zipfile.ZipFile('./ hello.zip') as zf:
  zf.extractall()
說明:先將原先的「你好.txt」檔案重新命名後執行。執行unzip.py後,與程式相同的資料夾中解壓縮、出現了一個「hello.txt」檔案。

以上就是這篇文章的全部內容,希望能對大家的學習有所幫助。更多精彩內容大家可以追蹤php中文網相關教學欄位! ! !

以上是如何使用Python壓縮/解壓縮zip檔? (程式碼範例)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn