ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

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

2021-10-02 19:01:48  阅读:296  来源: 互联网

标签:演示 zip Python zipObj zipfile 文件夹 fName fDir path


代码效果演示
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]\forTest\folder_for_test\FFT1',
r'D:\[download]\forTest\folder_for_test',r'D:\[download]\forTest\folder_for_test\新建 Microsoft Excel 工作表.xlsx']
zipFiles(pathsList)

标签:演示,zip,Python,zipObj,zipfile,文件夹,fName,fDir,path
来源: https://www.cnblogs.com/Trix/p/15362420.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有