python模組 zipfile檔案壓縮

2021-09-26 03:26:31 字數 2569 閱讀 4214

zipfile模組是python中乙個處理壓縮檔案的模組,解決了不少我們平常需要處理壓縮檔案的需求 ,本文主要談談zipfile幾個常用的用法。

首先我在windows作業系統中建立如下的檔案目錄:

一、讀取壓縮檔案:

**:import zipfile

import os

# 壓縮檔案路徑

zip_file_path = r'f:\壓縮檔案zipfile\zipfile_dir.zip'

# 壓縮檔案目錄路徑

zip_dir = r'f:\壓縮檔案zipfile\zipfile_dir'

# 開啟壓縮檔案

zip_files = zipfile.zipfile(zip_file_path,mode='r')

# 獲取zip壓縮檔案的相關資訊

for content in zip_files.infolist():

print(content)

# 遍歷zip壓縮檔案的檔名稱

for name in zip_files.namelist():

print(name)

# 記得要像讀取file那樣關閉檔案控制代碼

壓縮檔案的名稱、壓縮演算法和大小等資訊

'

zipfile_dir/test1.txt

' compress_type=deflate external_attr=0x20 file_size=2918 compress_size=1591>

'zipfile_dir/test2.txt

' compress_type=deflate external_attr=0x20 file_size=2918 compress_size=1591>

'zipfile_dir/

' external_attr=0x10>

壓縮檔案目錄下所有檔案的名稱

zipfile_dir/test1.txt

zipfile_dir/test2.txt

zipfile_dir/

二、往zip目錄中新增檔案**:# 在指定zip壓縮檔案目錄下建立zip檔案

create_zip_file = zipfile.zipfile(zip_file_path, mode='a', compression=zipfile.zip_deflated)

new_file_path = os.path.join(zip_dir,r'readme.txt')

# 將資料夾中的檔案拷貝進zip目錄

file_name = 'readme.txt'

create_zip_file.write(new_file_path,file_name)

create_zip_file.close()

注意:加入zip目錄的檔案本身在資料夾中已經存在,否則zipfile模組搜尋路徑是無法找到的。

新增成功:

三、解壓檔案:

zipfile提供的壓縮方法有:

zip_stored,zip_deflated, zip_bzip2和zip_lzma

zip_storeed:只是作為一種儲存,實際上並未壓縮

zip_deflated:用的是gzip壓縮演算法

zip_bzip2:用的是bzip2壓縮演算法

zip_lzma:用的是lzma壓縮演算法

gzip和bzip2壓縮演算法的區別:

使用 gzip要比bzip2快,但是bzip2會獲得比 gzip更高的壓縮率,即bzip壓縮後的壓縮檔案跟小。

**:# 解壓後檔案放置的目錄

unzip_dir = r'f:\tk_demo_test'

# 解壓前檔案的zip目錄

zip_file2_path = r'f:\tk_demo.zip'

unzip_files = zipfile.zipfile(zip_file2_path,mode='r',compression=zipfile.zip_deflated)

unzip_files.extractall(unzip_dir)

unzip_files.close()

解壓成功:

Python基礎 ZipFile模組

zipfile和zipinfo,在絕大多數的情況下,我們只需要使用這兩個class就可以了。zipfile是主要的類,用來建立和讀取zip檔案。而zipinfo是儲存的zip檔案的每個檔案的資訊的。import zipfile z zipfile.zipfile filename,r for i i...

Python模組zipfile原理及使用方法詳解

zipfile是python裡用來做zip格式編碼的壓縮和解壓縮的,由於是很常見的zip格式,所以這個模組使用頻率也是比較高的 zipfile裡有兩個非常重要的class,分別是zipfile和zipinfo,在絕大多數的情況下,我們只需要使用這兩個class就可以了。zipfile是主要的類,用來...

Python中zipfile模組最最最最簡單的例子

用python寫的乙個簡單的壓縮檔案處理 寫得要被人打的節奏 bug多多 encoding utf 8 import zipfile import os defmenu print 1 列出所有壓縮檔案 2 解壓指定檔案 3 加入壓縮檔案 4 退出 defunzip zf zf.printdir z...