파이썬에서 파일이나 디렉터리 구분 및 존재 확인하기

Python // 2024년 05월 30일 작성 // 2024년 12월 26일 업데이트

파이썬에서 특정 경로가 파일인지 아니면 디렉터리인지 구분하고 이 경로가 실제로 존재하는지 확인하는 방법을 정리해 보자.

사실 이 모두 간단한 os.path의 두 함수를 통해 가능하다.

isfile

isfile, 정확히 말해 os.path.isfile 함수는 경로가 파일인지 혹은 존재하는지를 알려준다.

>>> os.path.isfile('/Users/seorenn/.zshrc')
True
>>> os.path.isfile('/Users/seorenn')
False
>>> os.path.isfile('/Users/seorenn/not_existing_file')
False

보다시피 isfile을 이용하면 경로가 파일인지 아니면 존재하지 않는지를 확인할 수 있다.

isdir

isfile을 봤다면 이름만 보면 감이 바로 올 만한 함수다. 이름처럼 isdir, 정확히 말해 os.path.isdir 함수는 경로가 디렉터리인지 그리고 실제로 존재하는지를 알려준다.

>>> import os
>>> os.path.isdir('/Users/seorenn')
True
>>> os.path.isdir('/Users/seorenn/.zsshrc')
False
>>> os.path.isdir('/Users/seorenn/not_existing_dir/')
False

아주 쉽고 간단한 기능이지만 개인적으로 자주 까먹는 편이다.