批量压缩文件夹-Python程序-效果演示

发布时间:2022-07-04 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了批量压缩文件夹-Python程序-效果演示脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

代码效果演示 GITee

# -*- coding: utf-8 -*-
# Version: Python 3.9.7
# Author: TRIX
# Date: 2021-10-02 13:20:04
# Use: 批量压缩指定文件夹 为zip压缩包
import zipfile
From os import path,walk,chdir
def zipFiles(pathsList):#需要压缩的文件夹 或 文件列表
	for i,r in enumerate(pathsList,1):
		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]fortestfolder_for_testFFT1',
r'D:[download]forTestfolder_for_test',r'D:[download]forTestfolder_for_test新建 Microsoft Excel 工作表.xlsx']
zipFiles(pathsList)

脚本宝典总结

以上是脚本宝典为你收集整理的批量压缩文件夹-Python程序-效果演示全部内容,希望文章能够帮你解决批量压缩文件夹-Python程序-效果演示所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。