linux下使用imagemagick批量生成缩略图的python脚本


linux下使用imagemagick批量生成缩略图的python脚本。程序用了递归,可以查找目录下所有的图片按照一定的规则生成指定宽度的缩略图。

#!/usr/bin/env python
# -*- coding:utf-8 -*-
#批量resize当前目录下的图片,linux测试过。
#使用imagemagick

import os, sys

iswindows = 'win32' in sys.platform.lower() or 'win64' in sys.platform.lower()
isosx     = 'darwin' in sys.platform.lower()

def convert(dirname, size='400*400'):

    for filename in os.listdir(dirname):

        if "thumbs" in filename or "cache" in filename:
                continue
        filename = os.path.join(dirname, filename)

        if os.path.isdir(filename):
                convert(filename, size)
        elif filename.lower().endswith("jpg"):
                tname=filename.rsplit('/',1)
                thumb_filename= "%s%s%s" % (tname[0],"/thumbs/thumbs_",tname[1])
                cmd = "/usr/local/imagemagick/bin/convert \"%s\" -resize %s \"%s\"" % (filename, size, thumb_filename)
                print "process.", filename
                #print cmd
                os.system(cmd)
if __name__ == "__main__":

    if len(sys.argv) >= 2:
        size = sys.argv[1]
    else:
        size = "400"
	#convert 当前目录下的所有图片
    convert('.', size)

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据