2021-01-09 12:32:33

해당 경로가 디렉토리(폴더)인지 파일인지 체크해야 할 때가 있습니다. 디렉토리는 무시하고 파일만 어떠한 처리를 하고 싶을 수도 있고, 그 반대의 경우일 수도 있기 때문입니다. 

 

제가 예를 들기 위해 만들어 놓은, 바탕화면에 있는 test라는 이름의 디렉토리에는 보시다시피 디렉토리들도 있고 파일들도 있는 상황입니다.

 

 

각 아이템이 디렉토리인지 파일인지 확인하는 코드를 작성해보도록 하겠습니다. 

 

우선 os.listdir() 함수를 통해서 전달해준 디렉토리 내 모든 아이템을 리스트의 형태로 나열해줍니다. 그 다음에 각 아이템이 파일인지 디렉토리인지를 os.path.isfile() 함수와 os.path.isdir() 함수를 통해 판별해줍니다. 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
import os
 
root_dir = 'C:/Users/Sim/Desktop/test'
 
item_list = os.listdir(root_dir)
 
for item in item_list:
    path = root_dir + '/' + item
#    path = os.path.join(root_dir, item)
    
    if os.path.isfile(path):
        print(item + "는 파일입니다")
    if os.path.isdir(path):
        print(item + "는 디렉토리(폴더)입니다")
cs

 

위 코드를 실행하면, 각 아이템이 파일인지 디렉토리인지 판별해줍니다. 

 

판별 성공!