Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python imghdr 모듈로 이미지 파일 유형 판별하기

Python 표준 라이브러리의 imghdr 모듈은 파일이나 바이트 스트림에 포함된 이미지의 유형을 판별하는 기능을 제공합니다. 이 모듈에는 단 하나의 함수만 정의되어 있으며, 별도의 설치 없이 바로 사용할 수 있습니다.

imghdr.what() 함수

imghdr 모듈의 핵심 함수는 다음과 같습니다.

imghdr.what(filename, h=None)

이 함수는 파일에 담긴 이미지 데이터를 검사하여 해당 이미지 유형을 나타내는 문자열을 반환합니다. 선택적으로 h 매개변수를 받을 수 있으며, 이 값이 지정되면 filename은 무시되고 h가 검사 대상인 바이트 스트림으로 처리됩니다.

인식 가능한 이미지 형식

imghdr 모듈은 다음과 같은 이미지 형식을 인식할 수 있습니다.

반환값이미지 형식
'rgb'SGI ImgLib 파일
'gif'GIF 87a 및 89a 파일
'pbm'Portable Bitmap 파일
'pgm'Portable Graymap 파일
'ppm'Portable Pixmap 파일
'tiff'TIFF 파일
'rast'Sun Raster 파일
'xbm'X Bitmap 파일
'jpeg'JFIF 또는 Exif 형식의 JPEG 데이터
'bmp'BMP 파일
'png'Portable Network Graphics(PNG)
'webp'WebP 파일
'exr'OpenEXR 파일

사용 예제

다음은 다양한 이미지 파일의 유형을 확인하는 예제입니다.

>>> import imghdr
>>> imghdr.what('bass.gif')
'gif'
>>> imghdr.what('polar.png')
'png'
>>> imghdr.what('test.jpg')
'jpeg'

참고: 모듈 지원 중단 안내

imghdr 모듈은 Python 3.11부터 지원 중단(deprecated) 상태로 분류되었으며, Python 3.13에서는 표준 라이브러리에서 완전히 제거되었습니다. 최신 버전의 Python을 사용한다면 Pillow 라이브러리나 filetype 같은 외부 패키지를 대안으로 활용하는 것이 좋습니다. 예를 들어 Pillow를 사용하면 다음과 같이 이미지 형식을 확인할 수 있습니다.

>>> from PIL import Image
>>> img = Image.open('bass.gif')
>>> img.format
'GIF'