关于python:批量压缩文件夹Python程序效果演示

5次阅读

共计 1083 个字符,预计需要花费 3 分钟才能阅读完成。

代码成果演示
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:\
 文件名称:
 文件大小:
 下载声明:本站部分资源来自于网络收集,若侵犯了你的隐私或版权,请及时联系我们删除有关信息。
下载地址:
\forTest\folder_for_test\FFT1', r'D:\
 文件名称:
 文件大小:
 下载声明:本站部分资源来自于网络收集,若侵犯了你的隐私或版权,请及时联系我们删除有关信息。
下载地址:
\forTest\folder_for_test',r'D:\
 文件名称:
 文件大小:
 下载声明:本站部分资源来自于网络收集,若侵犯了你的隐私或版权,请及时联系我们删除有关信息。
下载地址:
\forTest\folder_for_test\ 新建 Microsoft Excel 工作表.xlsx'] zipFiles(pathsList)
正文完
 0