Skip to navigation
How resize pictures with python on a multi processing mode
05.09.15
import os import sys from PIL import Image from multiprocessing import Process def check_resize(self): sizes = ['15','30','50','85','120','120','150','250','600','1000','1200'] for root, dirs, files in os.walk(self.path): for name in files: dirx = root.split('/')[4] if not( name in ['Thumbs.db']): for i in sizes: picturedir = '/mnt/sdb1/pictures/' + i + 'x' + i + '/' + dirx + '/' filepath = picturedir + name orgpath = root + '/' + name size = int(i),int(i) jobs =[] if not(os.path.isfile(filepath)): p = Process(target=self.resize, args=(picturedir,orgpath,filepath,size,)) jobs.append(p) p.start() def resize(self,picturedir,orgpath,filepath,size): if not(os.path.isdir(picturedir)): os.makedirs(picturedir) try: img = Image.open(orgpath) img.thumbnail(size, Image.ANTIALIAS) img.save(filepath,str(img.format)) print( str(os.getpid()) + 'resize'+filepath) except Exception as e: print(e)
https://pymotw.com/2/multiprocessing/basics.html
Reply
Anonymous
Information Epoch 1740242482
Think parallel.
Home
Notebook
Contact us