#coding: UTF-8 import threading, Queue, os from PIL import Image queue = Queue.Queue() # создаем очередь THREADS = 10 for i in os.listdir('.'): if i.split('.')[-1] == 'JPG': queue.put(Image.open(i)) def chage_file(img): #узнать ориентацию файла print 'Открытие файла ' + img.filename i_size = img.size if i_size[0] > i_size[1]: # если больше то 800х600 #изменить размер r_img = img.resize((800,600), Image.ANTIALIAS) else: r_img = img.resize((600,800), Image.ANTIALIAS) #переименовать и сохранить print 'Сохранение файла' + img.filename r_img.save('NEW_'+img.filename) def repeat(): while True: try: item = queue.get_nowait() # ждём данные except Queue.Empty: break chage_file(item) # передаем данные в нашу функцию #time.sleep(0.5) queue.task_done() # задача завершена for tr in xrange(THREADS): t = threading.Thread(target=repeat) # создаем нить t.start() queue.join()
суббота, 12 мая 2012 г.
ReSize fotos in folder в 10 потоков
Подписаться на:
Комментарии к сообщению (Atom)
Комментариев нет:
Отправить комментарий