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