python中如何壓縮和解壓縮文件


在實際的業務開發中會經常遇到對文件進行相關的操作,比如新建文件夾或文件,移動、刪除文件夾或文件,文件的壓縮與解壓縮等等!!下面就其中的壓縮與解壓縮進行代碼演示!

文件解壓縮

import os
import glob
import zipfile
 
 
def unzip_file(dir_path):
    # 解壓縮后文件的存放路徑
    unzip_file_path = r"C:\Users\Desktop\新建文件夾"
    # 找到壓縮文件夾
    dir_list = glob.glob(dir_path)
    if dir_list:
        # 循環zip文件夾
        for dir_zip in dir_list:
            # 以讀的方式打開
            with zipfile.ZipFile(dir_zip, 'r') as f:
                for file in f.namelist():
                    f.extract(file, path=unzip_file_path)
            os.remove(dir_zip)
 
 
unzip_file(r"C:\Users\Desktop\新建文件夾\*.zip")
 
# 這兒的 dir_path 只是其中的一種路徑處理方式,可以根據自己的需求行進實際操作

文件壓縮

只壓縮目標目錄下的文件夾(空文件夾不壓縮)及文件

import os
import zipfile
 
 
def zip_dir(dir_path, zip_path):
    '''
     
    :param dir_path: 目標文件夾路徑
    :param zip_path: 壓縮后的文件夾路徑
    :return: 
    '''
    zip = zipfile.ZipFile(zip_path, "w", zipfile.ZIP_DEFLATED)
    for root, dirnames, filenames in os.walk(dir_path):
        file_path = root.replace(dir_path, '')  # 去掉根路徑,只對目標文件夾下的文件及文件夾進行壓縮
        # 循環出一個個文件名
        for filename in filenames:
            zip.write(os.path.join(root, filename), os.path.join(file_path, filename))
    zip.close()
 
 
zip_dir(r"C:\Users\Desktop\新建文件夾", r"C:\Users\Desktop\壓縮" + '.zip')

參考:https://www.cnblogs.com/rongge95500/p/11271764.html#_label0


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM