導(dǎo)入相關(guān)模塊
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文件的路徑及名稱
二矾踱、python解壓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:是要解壓到的目的文件夾
三寻歧、Python其它操作文件方法
1.剪切(移動)文件到指定目錄
shutil.move(filename, dst_dir)
2.刪除文件夾
shutil.rmtree(src_dir)
3.刪除指定文件
os.remove(file_src)
4.新建文件夾
os.mkdir(dst_dir)
5.遍歷文件夾
for filename in os.listdir(src_dir):
6.復(fù)制文件
shutil.copyfile(src_file,dst_file)?
7.獲取文件夾大小
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
可以根據(jù)文件大小做不同的判斷障贸,如:
file_size = get_dir_size(DATA_PATH)
max_size = file_size / 1024 / 1024? ##獲得的是以Mb為單位的值
if max_size < 100:
? ? pass
原文鏈接:https://blog.csdn.net/abcwanglinyong/article/details/80840813