Python壓縮解壓zip檔案

2021-08-21 02:14:09 字數 1737 閱讀 3937

import os

import shutil

import zipfile

from os.path import join, getsize

一、python壓縮指定資料夾
def zip_file(src_dir):

zip_name = src_dir +'.zip'

z = zipfile.zipfile(zip_name,'w',zipfile.zip_deflated)

for dirpath, dirnames, filenames in os.walk(src_dir):

fpath = dirpath.replace(src_dir,'')

fpath = fpath and fpath + os.sep or ''

for filename in filenames:

z.write(os.path.join(dirpath, filename),fpath+filename)

print ('==壓縮成功==')

z.close()

其中

src_dir:你要壓縮的資料夾的路徑

zip_name:壓縮後zip檔案的路徑及名稱

def unzip_file(zip_src, dst_dir):

r = zipfile.is_zipfile(zip_src)

if r:

fz = zipfile.zipfile(zip_src, 'r')

for file in fz.namelist():

fz.extract(file, dst_dir)

else:

print('this is not zip')

其中:

zip_src:是zip檔案的全路徑

dst_dir:是要解壓到的目的資料夾

shutil.move(filename, dst_dir)
shutil.rmtree(src_dir)
os.remove(file_src)
os.mkdir(dst_dir)
for filename in os.listdir(src_dir):
shutil.copyfile(src_file,dst_file)

def get_dir_size(dir_path):

size = 0l

for root, dirs, files in os.walk(dir_path):

size += sum([getsize(join(root, name)) for name in files])

return size

可以根據檔案大小做不同的判斷,如:

file_size = get_dir_size(data_path)

max_size = file_size / 1024 / 1024 ##獲得的是以mb為單位的值

if max_size < 100:

pass

更多部落格內容詳見我的部落格 wang's blog

C 壓縮解壓Zip檔案

新增引用icsharpcode.sharpziplib.dll region 加壓方法 被壓縮的資料夾夾路徑 生成壓縮檔案的路徑,為空則預設與被壓縮資料夾同一級目錄,名稱為 資料夾名 zip 出錯資訊 是否壓縮成功 public static bool zipfile string dirpath,...

C 壓縮解壓zip 檔案

zip 壓縮檔案 public class zip region 加壓方法 功能 壓縮檔案 暫時只壓縮資料夾下一級目錄中的檔案,資料夾及其子級被忽略 被壓縮的資料夾夾路徑 生成壓縮檔案的路徑,為空則預設與被壓縮資料夾同一級目錄,名稱為 資料夾名 zip 出錯資訊 是否壓縮成功 public stat...

c 解壓zip 進度 C 壓縮解壓zip 檔案

1 2 zip 壓縮檔案3 4 public classzip5 10 region 加壓方法 11 14 被壓縮的資料夾夾路徑 15 生成壓縮檔案的路徑,為空則預設與被壓縮資料夾同一級目錄,名稱為 資料夾名 zip 16 出錯資訊 17 是否壓縮成功 18 public static bool z...