四时宝库

程序员的知识宝库

程序员用三十行代码实现批量压缩图片

背景

之前做微网站项目的时候, 遇到图片资源太大, 导致网页加载速度极慢的情况。 于是用python做了个批量压缩图片的小工具, 该工具可遍历源目录下的所有文件并压缩, 最后把压缩好的图片按源目录的管理格式保存到目标目录。

如何使用

举个例子, 下面是压缩前的图片目录, 结构是这样的:

我在终端运行以下代码:

$ python compress_images.py ~/Desktop/dianqi/ ./dianqi/ 3

运行后会有如下输出:

这个命令的意思是压缩 ~/Desktop/dianqi/目录下的所有文件,并把压缩后的图片保存到 ./dianqi/目录下,压缩比例为3.。压缩比里越高, 压缩后的图片越小, 但质量会降低。

下面是压缩后的存放压缩图片的目录结构:

对比上面两幅图, 两个目录结构是完全一样的, 而且压缩后图片小了很多, 我们批量压缩图片的功能实现了。

如何实现

实现原理是这样的:遍历源目录,如果是文件则用PIL的resize函数压缩,如果是目录则递归调compress_images_in_dir函数, 直到处理完目录下所有文件后退出。

具体源码在这里,很简单, 有兴趣的朋友可以看下:

欢迎转载!

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接