본문 바로가기
Python

[Python] 폴더 안 이미지 자동 리사이즈 하기 ( WebP 변환 후 일괄 저장)

by teamnova 2025. 7. 10.
728x90

 

 

안녕하세요.
오늘은 특정 폴더 내에 있는 이미지 파일들을 원하는 사이즈로 일괄 리사이즈하고,
이미지 포맷인 WebP 형식으로 자동 변환해 저장하는 방법을 소개하려고 합니다.

이 작업은 블로그, 앱 썸네일, 웹 최적화 이미지 등을 준비할 때 매우 유용하게 쓰일 수 있습니다. 

 

 

먼저 아래와 같은 준비물이 필요합니다. 

  • Python 3.x 이후 버전
  • Pillow 라이브러리 (pip install pillow 로 설치 가능합니다)
  • 리사이즈하고 싶은 이미지 파일들 (예: .jpg, .png, .jfif 등)

 

전체 코드입니다. 

from PIL import Image
import os

# 현재 스크립트 실행 위치 기준 상대 경로
# 원본 이미지 디렉토리 경로(inuput) 와 변환된 이미지가 저장된 디렉토리(output)경로입니다
input_folder = 'images'
output_folder = 'resized'

os.makedirs(output_folder, exist_ok=True)

for filename in os.listdir(input_folder):
    if filename.lower().endswith(('.jpg', '.jpeg', '.png')): # 원본이미지의 확장자명 목록입니다. 
        input_path = os.path.join(input_folder, filename)

        with Image.open(input_path) as img:
            resized_img = img.resize((800, 600)) # 변환하고 싶은 이미지의 사이즈를 정해줍니다. 

            base_name = os.path.splitext(filename)[0]
            output_path = os.path.join(output_folder, base_name + '.webp') # webp 확장자로 이미지를 저장합니다. 

            resized_img.save(output_path, 'webp')
            print(f"{filename} → {output_path} 저장 완료")

print("변환완료")

 

 

기존 원본 파일은 images 폴더에, 800X600 사이즈로 변환된 이미지는 resized 파일에 저장된 모습입니다. 

 

 

 

기존 이미지 크기에서 800, 600 로 늘어난 모습입니다. 

 

 

 

감사합니다.