2017-01-12 63 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文本,而不是變量'dst_path'。你需要'dst_path'而不用'''和文件名 - '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")