python 批量生成缩略图

下面类能批量生成缩略图,调用方式

fromFile2thumbnails(fileDir = sys.path[0],format ='jpg',size = (128,128)').run()

默认仅当前文件夹中的所有jpg图像,默认缩略图大小 128*128 , 代码如下

from PIL import Image 
import glob,os,sys

class fromFile2thumbnails(object):
	def __init__(self,fileDir = sys.path[0],format ='jpg',size = (128,128)):
		self._fileDir = fileDir
		self._size = size
		self._format = format
		self._filePath = os.path.join(fileDir, '*.'+format)
		self._thumbPath = os.path.join(fileDir,'thumb')

	def run(self):
		if not os.path.exists(self._thumbPath):
			os.mkdir(self._thumbPath)
		for infile in glob.glob(self._filePath):
			ext = os.path.splitext(os.path.split(infile)[1])[0]
			fPath = os.path.join(self._thumbPath,ext)
			# print(file)
			im = Image.open(infile)
			# im.show()
			im.thumbnail(self._size)
			im.save(fPath+".t.jpg","JPEG")

		print('缩略图完成')


fromFile2thumbnails(r'D:\Users\Public\Pictures\Sample Pictures').run()

会在文件夹中建立一个 thumb 文件夹并生成缩略图

posted @ 2017-08-20 18:51  我是一个毛毛虫  阅读(1405)  评论(0编辑  收藏  举报