• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

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

python 搞代码 4年前 (2022-02-20) 16次浏览 已收录 0个评论

代码成果演示
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)

搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:关于python:批量压缩文件夹Python程序效果演示
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址