利用线程生成缩略图;
读取当前路径下的png文件,在当前路径下生成6464,128128和32*32的缩略图。
"""
利用线程生成缩略图
读取当前路径下的png文件,在当前路径下生成64*64,128*128和32*32的缩略图
"""
import glob
import os
import threading
from PIL import Image
def generate_thumbnail(infile, size):
"""生成指定图片文件的缩略图"""
file, ext = os.path.splitext(infile)
file = file[file.rfind('/') + 1:] # 查找文件名
outfile = f'{file}_{size[0]}_{size[1]}{ext}' # 生成缩略图的文件名
img = Image.open(infile)
img.thumbnail(size, Image.ANTIALIAS) # 进行缩略图 size为元组 Image.ANTIALIAS表示低质量
img.save(outfile)
def main():
"""主函数"""
for infile in glob.glob('*.png'): # 查找当前路径下的png文件
for size in (32, 64, 128): # 利用线程生成多个尺寸的缩略图
# 创建并启动线程
threading.Thread(
target=generate_thumbnail,
args=(infile, (size, size))
).start()
if __name__ == '__main__':
main()