2017-01-12 13 views
1

Я изучаю Python и пытаюсь использовать Pillow для изменения размера изображений в папке, а затем сохранить их в другую папку с тем же именем файла. Тем не менее, программа хорошо работает, когда я проверяю папку, нет вы не изображений ... Моего кода, как показано ниже:Python Pillow изменить размер изображения проблемы: он работает хорошо, но нет изображений

from PIL import Image 
import os, glob, sys 

src_path = "D:/Test_A/src/*.png" 
dst_path = "D:/Test_A/dst/" 
img_list = glob.glob(src_path) 

for XXPNG in img_list: 
    fn = os.path.basename(XXPNG) 
    im = Image.open(XXPNG) 
    print(fn, im.size) 
    nim = im.resize((119, 119), Image.ANTIALIAS) 
    nim.save("dst_path","PNG") 
print("Resize Done") 

Пожалуйста, помогите мне найти мою ошибку, или дайте свой любой совет. Большое спасибо за помощь и с моим бедным английским языком.

+0

Вы забыли расширение в имени файла 'сохранить ("dst_path.png" , "PNG") ' – furas

+0

' 'dst_path" 'в вашем' save() 'является нормой al text, а не переменной 'dst_path'. Вам нужно 'dst_path' без' '' и filename - 'nim.save (dst_path + fn," PNG ")' – furas

ответ

1

"dst_path" с " нормальный текст, а не переменная dst_path - так что вы сохраните в файле с именем "dst_path".

Вам нужно dst_path без " - плюс имя файла

nim.save(dst_path + fn, "PNG") 

или os.path.join()

nim.save(os.path.join(dst_path, name), "PNG") 

Код:

from PIL import Image 
import os, glob, sys 

src_path = "D:/Test_A/src/*.png" 
dst_path = "D:/Test_A/dst/" 
img_list = glob.glob(src_path) 

for fullpath in img_list: 
    name = os.path.basename(fullpath) 
    im = Image.open(fullpath) 

    print(name, im.size, '=>', os.path.join(dst_path, name)) 

    nim = im.resize((119, 119), Image.ANTIALIAS) 
    nim.save(os.path.join(dst_path, name), "PNG") 
    #nim.save(dst_path + name, "PNG") 

print("Resize Done")