Python使用pngquant实现批量压缩图片
自己写的一个批量压缩图片的小工具,文件结构如下图
使用方法:将文件夹拖到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实现批量压缩图片相关推荐
- python脚本编程:批量压缩图片大小
需要安装第三方模块PIL 代码 #coding:utf-8 import Image import os#图片压缩批处理 def compressImage(srcPath,dstPath): for ...
- python怎么把图片压缩_使用Python轻松批量压缩图片
在互联网,图片的大小对一个网站的响应速度有着明显的影响,因此在提供用户预览的时候,图片往往是使用压缩后的.如果一个网站图片较多,一张张压缩显然很浪费时间.那么接下来,我就跟大家分享一个批量压缩图片的方 ...
- 10 行 Python 代码,批量压缩图片 500 张,简直太强大了
这几天,我在用 Github page + hexo 搭建个人网站,为了延续风格,就想把配图与文章一起迁移过去.这时候就出现了一个难题:我所用的图片都是高清大图,放到网站上会严重拖慢加载速度.因此,需 ...
- 使用Python批量压缩图片
使用Python批量压缩图片 Python脚本 #coding:utf-8 import Image import os import os.path def picIsCorrect(fileSuf ...
- 如何使用python批量压缩图片_python利用Guetzli批量压缩图片
Google 又开源了,这次开源了一款图像算法工具 Guetzli.Guetzli,在瑞士德语中是"cookie(曲奇)"的意思,是一个针对数码图像和网页图像的 JPEG 编码器, ...
- 如何使用python批量压缩图片_利用Python 批量压缩图片
方法一 直接调整宽高 先放参考资料:如何用Python智能批量压缩图片? import math from glob import glob from PIL import Image import ...
- 新发的日常小实验——使用python的PIL库批量修改图片尺寸,确保宽和高是4的倍数(Unity、PIL、Pillow、压缩)
文章目录 一.问题:图片导入Unity被调整成2的N次方 二.设置不转换成2的N次方 三.使用ETC压缩格式,图片宽高必须是4的倍数 四.使用python的PIL库批量修改图片尺寸,确保宽和高是4的倍 ...
- Python批量压缩图片
Python批量压缩图片 代码如下 代码如下 可支持压缩指定单张图片,单个文件夹,多个文件夹,可根据自己实际场景的需求扩展丰富.话不多说,上代码. # @Time : 2021/10/14 9:16i ...
- Python实现批量压缩图片
Python实现批量压缩图片 本文为大家分享了Python实现批量压缩图片的具体代码,供大家参考,具体内容如下 # -*- coding: utf-8 -*- """ _ ...
最新文章
- MySQL存储过程中的3种循环
- Educational Codeforces Round 81 (Rated for Div. 2) C. Obtain The String 序列自动机
- Spark在Ambari集群环境的使用
- 三、mongodb数据库系列——mongodb和python交互 总结
- android wifi 组播,在Android上显示实时UDP或RTP流(多播)
- toj 4610 Biggest Number
- PAT乙级(1034 有理数四则运算)
- Spring : @Qualifier 注解
- shell实现https登录
- zend studio设置自动保存
- SQL Server 2008每天自动备份数据库
- Microsoft Dips Its Toe Into The iPhone With Seadragon Mobile
- 华为认证怎么考?华为认证考试费用是多少?
- lol一直显示服务器满,LOL服务器爆满!排队两个小时你敢信?网友感慨原来大家都在啊...
- UI——day5.什么是启动页
- 【Numpy】1. n维数组,dtype,切片,索引
- linux查看服务器网络延迟,ECS Linux下的qperf测量网络带宽和延迟的具体步骤
- 仿抖音写上下滑动切换视频
- 赠书 | 第一次送书,送排名第一的书!
- RA病人关节残障与软骨破坏而非骨破坏相关
热门文章
- 小程序-仿朋友圈开发问题
- GSM模块_常用AT指令详解
- 3DMAX入门教程 | 命令面板 标准基本体的创建和参数
- java毕业生设计畜牧场信息管理系统计算机源码+系统+mysql+调试部署+lw
- win10恢复经典开始菜单_没有蜘蛛纸牌的日子怎么过?带你找回Win10自带的游戏...
- [转]叔本华《要么庸俗 要么孤独》
- 金融界神曲“金融科技”:度小满、中国平安等大神如何唱?
- python中ox_Python中os包的用法
- Windows操作系统类毕业论文文献有哪些?
- R语言 编写循环语句