python pngquant 批量压缩png图片
- 用pngquant压缩一个文件夹里所有图片 或 压缩一个文件夹里所有一级子文件夹里的图片
- 压缩后的图片分辨率调整为原来的0.5倍(根据自己的情况调整)
- 计算压缩前后的图片大小、压缩率和压缩用时
由于pngquant不能压缩分辨率,所以pngquant压缩完仍然有可能比较大,于是再次在compress_resize函数中加上Pillow库压缩分辨率。
pngquant_resize_1() 函数 压缩指定路径下的一级子文件夹里的所有png图片,新的压缩图片覆盖源文件。
pngquant_resize_2() 函数 输入源文件夹和目标文件夹压缩源文件夹里所有图片,生成压缩图片到目标文件夹
需要安装pngquant,将pngquant.exe放到python安装目录下的Scripts文件夹里,Scripts文件夹路径加到环境变量。
需要注意的:
- 如果需要压缩的文件夹里面有子文件夹,那么只会压缩子文件夹里的图片,并不会压缩子文件夹里子文件夹里的图片,你可以自己改一下,如果要遍历所有子文件夹的图片,用os.walk()就行了。
- 我这里使用的是pngquant压缩图片,你需要在cmd里输入pngquant --help查看pngquant的帮助文档
- 这里的计算压缩后的图片的大小,并计算压缩率,计算压缩过程的耗时,只是为了看看压缩效果,如果你用不上,可以删掉这些。
- 压缩的是png图片。如果是jpg,没试过,感觉pngquant大概不行。
- 有一个坏消息是,压缩完图片,再用压缩软件打成压缩包,基本上无法压缩了,所以有需求的人压缩时pngquant的quality和resize的宽高比需要好好考虑。。
代码放在github的这里
python pngquant 批量压缩png图片相关推荐
- Python实现批量压缩图片
Python实现批量压缩图片 本文为大家分享了Python实现批量压缩图片的具体代码,供大家参考,具体内容如下 # -*- coding: utf-8 -*- """ _ ...
- 在线批量压缩JPG图片-JpegMini
2019独角兽企业重金招聘Python工程师标准>>> 之前有推荐过一个在线批量压缩PNG图片的网站TinyPng,这儿小觉再次推荐一个同类网站,专门在线批量压缩JPG图片的Jpeg ...
- Python脚本批量重命名图片
Python脚本批量重命名图片 # -*- coding: utf-8 -*- """ Created on Tue Mar 23 13:34:59 2021@autho ...
- python怎么把图片压缩_使用Python轻松批量压缩图片
在互联网,图片的大小对一个网站的响应速度有着明显的影响,因此在提供用户预览的时候,图片往往是使用压缩后的.如果一个网站图片较多,一张张压缩显然很浪费时间.那么接下来,我就跟大家分享一个批量压缩图片的方 ...
- python批量resize图片大小_如何用Python智能批量压缩图片?
本文一步步为你介绍,如何用Python自动判断多张图片中哪些超出阈值需要压缩,且保持宽高比.如果你想了解Python图像处理的基础知识,欢迎动手来尝试. 痛点 我喜欢用Markdown写文稿,然后发布 ...
- 《自拍教程71》Python mediainfo批量重命名图片文件,AV专家必备!
案例故事: 大部分带彩色屏幕的终端设备,不管是手机,车机,电视等等,都需要涉及图片的显示, 作为一名专业的多媒体测试人员,我们需要一堆的规范化标准的的图片测试文件, 但是发现图片资源名字命名的很随意比 ...
- 用python一键批量压缩备份文件,不必再用鼠标点点点
很多人会定期压缩备份一下自己的文件,但每次一个个文件压缩移动很麻烦,整理耗时又费力. 面对这些问题,只要用Python的zipfile包,几句代码就够了,大大提高了工作效率! 今天我们就来教大家如何使 ...
- 【python】批量压缩文件夹
文章目录 下载 场景 使用 思路+代码 下载 百度云 提取码:cyyy 链接:https://pan.baidu.com/s/1-RNZoS9hUvNodQZhF26hXA?pwd=cyyy 提取码: ...
- Python实用案例,Python脚本,Python实现批量下载百度图片
往期回顾 Python实现自动监测Github项目并打开网页 Python实现文件自动归类 Python实现帮你选择双色球号码 Python实现每日更换"必应图片"为"桌 ...
最新文章
- 47种常见的浏览器兼容性问题大汇总
- oracle11 区分大小写,修改Oracle11g用户密码不区分大小写
- redis value最大值_Redis 的 maxmemory 和 dbnum 默认值都是多少?对于最大值会有限制吗?...
- bzoj 4372: 烁烁的游戏 动态点分治_树链剖分_线段树
- win10连接计算机,如何在win10中连接计算机和打印机
- 【转】Scott_ASP.NET MVC框架(第三部分) 把ViewData从控制器传到视图
- Gradle里Copy任务(task)的使用
- Python: 反方向迭代一个序列
- .NET 6新特性试用 | 自动生成高性能日志记录代码
- [蓝桥杯2015决赛]胡同门牌号-模拟+枚举
- null导入失败_当null检查非常失败时
- 49session的生命周期实例
- java序列化与反序列化总结
- 乘法口诀表java加表格_Java 面试 - 打印九九乘法口诀表
- Santander价值预测挑战(Feature Select + BayesSearchCV + LightGBMRegressor)
- Android实现思维导图功能,Android打造思维导图
- python爬取京东商品信息_python爬虫:爬取京东商品信息
- 用户故事 | 李兆龙:博观而约取,厚积而薄发
- 【手把手教程】uniapp + vue 从0搭建仿斗鱼虎牙直播App:腾讯云MLVB移动直播实践连麦PK+带货
- 麒麟Linux启动目录,Ubuntu Kylin优麒麟文件管理器篇:介绍,类别,结构,文件系统目录,使用...