自己写的一个批量压缩图片的小工具,文件结构如下图

使用方法:将文件夹拖到bat.bat上,即可实现对文件夹内的图片压缩。

.bat文件中的代码:

@echo off
set floder=%1%
set p_path=%~dp0
python %p_path%\reducePng.py -p %floder%
pause

python代码实现如下:

#!/usr/bin/python
# -*- coding:UTF-8 -*-import os,os.path
import sys,getopt
import shutil#压缩图片
def reducePic(srcFile,dstFile):cmd=g_curDir+'\\pngquant.exe --force --verbose --speed=1 --ordered 256 %s --output %s' %(srcFile, dstFile)os.system(cmd)#循环递归遍历文件夹
def traverse(file_dir):fs = os.listdir(file_dir)for dir in fs:tmp_path = os.path.join(file_dir, dir)if not os.path.isdir(tmp_path):tu=os.path.splitext(tmp_path)print(tmp_path)if tu[1] in g_reduceFileExt:newPath=tmp_path.replace(g_srcPath,g_dstPath)print(newPath)reducePic(tmp_path,newPath)else:createFloder(tmp_path.replace(g_srcPath,g_dstPath))traverse(tmp_path)def getFloderPath():opts,args=getopt.getopt(sys.argv[1:],"p:s:")file_path=""for op,value in opts:if op == "-p":file_path=valuereturn file_pathdef createFloder(dstpath):if not os.path.exists(dstpath): os.mkdir(dstpath)  def main():#当前路径global g_curDirg_curDir=os.path.dirname(os.path.realpath(__file__))#需要压缩的图片扩展名global g_reduceFileExtg_reduceFileExt=['.png','.jpg']#压缩后的图片存储目录global g_dstPathg_dstPath=g_curDir+'\\reduces'createFloder(g_dstPath)global g_srcPathg_srcPath=getFloderPath()print(g_srcPath)traverse(g_srcPath)print('files reduce success')if __name__ == '__main__':main()

附:

pngquant工具官网:https://pngquant.org/

参数详情如下图:

Python使用pngquant实现批量压缩图片相关推荐

  1. python脚本编程:批量压缩图片大小

    需要安装第三方模块PIL 代码 #coding:utf-8 import Image import os#图片压缩批处理 def compressImage(srcPath,dstPath): for ...

  2. python怎么把图片压缩_使用Python轻松批量压缩图片

    在互联网,图片的大小对一个网站的响应速度有着明显的影响,因此在提供用户预览的时候,图片往往是使用压缩后的.如果一个网站图片较多,一张张压缩显然很浪费时间.那么接下来,我就跟大家分享一个批量压缩图片的方 ...

  3. 10 行 Python 代码,批量压缩图片 500 张,简直太强大了

    这几天,我在用 Github page + hexo 搭建个人网站,为了延续风格,就想把配图与文章一起迁移过去.这时候就出现了一个难题:我所用的图片都是高清大图,放到网站上会严重拖慢加载速度.因此,需 ...

  4. 使用Python批量压缩图片

    使用Python批量压缩图片 Python脚本 #coding:utf-8 import Image import os import os.path def picIsCorrect(fileSuf ...

  5. 如何使用python批量压缩图片_python利用Guetzli批量压缩图片

    Google 又开源了,这次开源了一款图像算法工具 Guetzli.Guetzli,在瑞士德语中是"cookie(曲奇)"的意思,是一个针对数码图像和网页图像的 JPEG 编码器, ...

  6. 如何使用python批量压缩图片_利用Python 批量压缩图片

    方法一 直接调整宽高 先放参考资料:如何用Python智能批量压缩图片? import math from glob import glob from PIL import Image import ...

  7. 新发的日常小实验——使用python的PIL库批量修改图片尺寸,确保宽和高是4的倍数(Unity、PIL、Pillow、压缩)

    文章目录 一.问题:图片导入Unity被调整成2的N次方 二.设置不转换成2的N次方 三.使用ETC压缩格式,图片宽高必须是4的倍数 四.使用python的PIL库批量修改图片尺寸,确保宽和高是4的倍 ...

  8. Python批量压缩图片

    Python批量压缩图片 代码如下 代码如下 可支持压缩指定单张图片,单个文件夹,多个文件夹,可根据自己实际场景的需求扩展丰富.话不多说,上代码. # @Time : 2021/10/14 9:16i ...

  9. Python实现批量压缩图片

    Python实现批量压缩图片 本文为大家分享了Python实现批量压缩图片的具体代码,供大家参考,具体内容如下 # -*- coding: utf-8 -*- """ _ ...

最新文章

  1. MySQL存储过程中的3种循环
  2. Educational Codeforces Round 81 (Rated for Div. 2) C. Obtain The String 序列自动机
  3. Spark在Ambari集群环境的使用
  4. 三、mongodb数据库系列——mongodb和python交互 总结
  5. android wifi 组播,在Android上显示实时UDP或RTP流(多播)
  6. toj 4610 Biggest Number
  7. PAT乙级(1034 有理数四则运算)
  8. Spring : @Qualifier 注解
  9. shell实现https登录
  10. zend studio设置自动保存
  11. SQL Server 2008每天自动备份数据库
  12. Microsoft Dips Its Toe Into The iPhone With Seadragon Mobile
  13. 华为认证怎么考?华为认证考试费用是多少?
  14. lol一直显示服务器满,LOL服务器爆满!排队两个小时你敢信?网友感慨原来大家都在啊...
  15. UI——day5.什么是启动页
  16. 【Numpy】1. n维数组,dtype,切片,索引
  17. linux查看服务器网络延迟,ECS Linux下的qperf测量网络带宽和延迟的具体步骤
  18. 仿抖音写上下滑动切换视频
  19. 赠书 | 第一次送书,送排名第一的书!
  20. RA病人关节残障与软骨破坏而非骨破坏相关

热门文章

  1. 小程序-仿朋友圈开发问题
  2. GSM模块_常用AT指令详解
  3. 3DMAX入门教程 | 命令面板 标准基本体的创建和参数
  4. java毕业生设计畜牧场信息管理系统计算机源码+系统+mysql+调试部署+lw
  5. win10恢复经典开始菜单_没有蜘蛛纸牌的日子怎么过?带你找回Win10自带的游戏...
  6. [转]叔本华《要么庸俗 要么孤独》
  7. 金融界神曲“金融科技”:度小满、中国平安等大神如何唱?
  8. python中ox_Python中os包的用法
  9. Windows操作系统类毕业论文文献有哪些?
  10. R语言 编写循环语句