代码成效演示
Gitee源码

# -*- coding: utf⑻ -*-
# Version: Python 三.九.七
# Author: TRIX
# Date: 二0二一⑴0-0二 一三:二0:0四
# Use: 批质紧缩指定文件夹 为zip紧缩包
import zipfile
from os import path,walk,chdir
def zipFiles(pathsList):#必要紧缩的文件夹 或者 文件列表铃博网
	for i,r in enumerate(pathsList,一):
		if path.isfile(r):#若是是文件
			fDir,fName=path.split(r)
			fPre,fSuf=path.splitext(fName)
			chdir(fDir)#扭转当前工做目次

			zipPath=fDir+'\\'+fPre+'.zip'#紧缩包途径
			zipObj = zipfile.ZipFile(zipPath, 'w', zipfile.ZIP_DEFLATED)#以 deflate紧缩算法 w形式 创立zip工具
			zipObj.write(fName)
			zipObj.close()
		else:#若是是文件夹
			chdir(r)#扭转当前工做目次
			fDir,fName=path.split(r)
			fPre,fSuf=path.splitext(fName)
			zipPath=fDir+'\\'+fName+'.zip'
			zipObj = zipfile.ZipFile(zipPath, 'w', zipfile.ZIP_DEFLATED)#以 deflate紧缩算法 w形式 创立zip工具
			for p, dirs, files in walk(r):
				for name in files:#拼接文件名
					zPath=path.join(p, name).replace(r+'\\','')
					zipObj.write(zPath)
				for name in dirs:#拼接目次名
					zPath=path.join(p, name).replace(r+'\\','')
					zipObj.write(zPath)
			zipObj.close()

		print('第{}个文件夹紧缩终了,贮存途径{}'.format(i,zipPath))

pathsList=[
r'D:\[download]\forTest\folder_for_test\FFT一',
r'D:\[download]\forTest\folder_for_test',r'D:\[download]\forTest\folder_for_test\新修 Microsoft Excel 工做表铃博网.xlsx']
zipFiles(pathsList)

转自:https://www.cnblogs.com/Trix/p/15362420.html

更多文章请关注《万象专栏》