# -*- 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)
批量压缩文件夹-Python程序-效果演示
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 代码效果演示[https://www.bilibili.com/video/BV1H34y1U7d2]Gitee源...
- 【点击标题可查看演示视频哦~】 0、Processing音乐可视化-入门级系列合集(适合初学)[https://w...
- zipfile是python里用来做zip格式编码的压缩和解压缩的,由于是很常见的zip格式,所以这个模块使用频率...