Я вижу две проблемы.
Во-первых, вы звоните walk
и glob
и повторяете результаты обоих.Это означает, что если ваш каталог содержит пять файлов и все они соответствуют шаблону glob, вы будете повторять более пяти файлов пять раз в общей сложности двадцать пять раз.У вас должен быть только один for filename
цикл.
Во-вторых, "jpg" не является поддерживаемым форматом файла PIL .Однако «JPEG» есть.Попробуйте это вместо этого.(Да, мне кажется странным, что img.save("result.jpg")
понимает, что результатом должен быть jpeg, но img.save("result", "jpg")
нет. Иногда библиотеки странные.)
Все вместе, результат может выглядеть следующим образом:
import os, sys
from PIL import Image
import glob as glob
MY_DIRECTORY = "C:\\Users\\rzara\\Desktop\\sample_skulls"
for filename in glob.glob(MY_DIRECTORY+"/*.jpg"):
size = 250, 250
file_parts = os.path.splitext(filename)
outfile = file_parts[0] + '_250x250' + file_parts[1]
img = Image.open(filename)
img = img.resize(size, Image.ANTIALIAS)
img.save(outfile, 'jpeg')