Sophie Lu
Sophie Lu

Reputation: 11

Python Pillow resize images trouble: it runs well but there're no images

I'm learning Python and try to use Pillow to resize images in a folder, then save them to another folder with the same filename. However, the program runs well, when I check the destination folder, there're no images... My code is as below:

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")

Please help me find my bug, or give my any advise. Thank you very much for help and bearing my poor English.

Upvotes: 1

Views: 89

Answers (1)

furas
furas

Reputation: 142641

"dst_path" with " is a normal text, not variable dst_path - so you save in file with name "dst_path".

You need dst_path without " - plus filename

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

or with os.path.join()

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

Code:

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")

Upvotes: 1

Related Questions