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...