2020-04-27 08:07:39

안녕하세요. 비스카이비전입니다. 코딩을 하다보면 어떤 디렉토리(폴더) 내의 파일 목록을 읽어야할 필요가 종종 있습니다. 특히 폴더 내 여러 개의 파일이 있어서 for문으로 반복 처리해야 하는 경우에는 더욱 그렇습니다. 

 

파일 목록 읽기

C:\Users\Sim\Desktop\new 와 같은 이름의 경로에 있는 파일의 목록을 읽어보겠습니다. 파이썬에서 경로를 입력할 때 주의하실 것은 \을 /으로 바꿔주셔야 한다는 점입니다. 저는 파이썬 표준 라이브러리 중 하나인 os의 listdir 함수를 사용했습니다. 

 

1
2
3
4
5
6
import os
 
path_dir = 'C:/Users/Sim/Desktop/new'
 
file_list = os.listdir(path_dir)
 
cs

 

이 코드를 실행시켰더니, file_list라는 변수에 다음과 같은 내용이 담겼습니다. 

 

 

이 폴더 내에는 총 10개의 파일이 있는데, 그 중 5개는 메모장 파일이고, 나머지 5개는 jpg 이미지 파일입니다. 참고로 이미지 파일명이 GOPR라고 시작되는 이유는 고프로로 찍었기 때문입니다. 

 

 

 

간단한 활용 예

opencv-python 패키지를 이용해서 이 디렉토리 내의 이미지 파일을 하나 읽어서 보여드리는 코드를 작성해보겠습니다. GOPR1140.JPG 이름의 이미지를 보여드려볼까요? 인덱스값 6에 해당하므로 file_list[6]가 이미지의 이름입니다. 따라서 다음과 같이 코드를 작성할 수 있습니다. 

 

1
2
3
4
5
6
7
8
9
10
11
12
import os
import cv2
 
path_dir = 'C:/Users/Sim/Desktop/new'
 
file_list = os.listdir(path_dir)
 
img_name = path_dir + '/' + file_list[6]
img = cv2.imread(img_name, cv2.IMREAD_COLOR)
cv2.imshow('image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
cs

 

이 코드를 실행시키면, 다음과 같은 이미지가 보여집니다. 

 

 

GOPR1140.JPG는 이런 이미지였군요. 

 

관련 글

[python] 해당 경로가 디렉토리인지 파일인지 확인하는 방법

 

 

본문 내 쿠팡 파트너스 링크를 통해 물건을 구매하시면, 제게 약간의 수익이 발생하여 더 좋은 글을 쓸 힘이 생깁니다.