#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)
Комментариев нет:
Отправить комментарий