2017-01-12 13 views
1

저는 Python을 배우고 베개를 사용하여 폴더의 이미지 크기를 조정 한 다음 동일한 파일 이름으로 다른 폴더에 저장합니다. 그러나 프로그램이 내가 대상 폴더를 검사 할 때 어떤 이미지가있어하지, 잘 실행 ... 내 코드는 다음과 같습니다 :Python 베개 크기 조정 이미지 문제 : 잘 실행되지만 이미지가 없습니다.

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' 변수. '''및 filename -'nim.save (dst_path + fn, "PNG")없이'dst_path'가 필요합니다. – 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")