[python] glob 파일/폴더 경로 불러오기

mspark·2023년 7월 11일
0
post-thumbnail

glob 라이브러리의 glob.glob() 함수는 주어진 패턴과 일치하는 파일 및 디렉터리를 찾아 정렬된 목록으로 반환한다. 주로 와일드카드 문자를 사용하여 파일을 검색한다.

import glob

file_path = glob.glob(pathname, recursive=False)

pathname에 파일 및 디렉터리 경로를 와일드카드 패턴으로 지정.
'recursive=True'로 설정하면 디렉터리의 하위 계층까지 검색할 수 있음.

예시

# * = 임의 길이의 문자열
file_path = glob.glob('dirs/*.txt')

dirs 폴더 아래에 있는 모든 txt 파일을 file_path에 리스트로 저장한다.

# ? = 한 자리 문자열
file_path = glob.glob('dirs/image?.jpg')

dirs 폴더 아래에 있는 'image' + '?(한 자리 문자열)' + '.jpg',
즉, 예를 들어 [image1.jpg, image2.jpg, image3.jpg, image_.jpg] 등을 리스트로 저장한다.

# 모든 하위 디렉토리 탐색하기
file_path = glob.glob('dirs/**', recursive=True)

dirs 폴더 아래에 있는 모든 파일을 file_path에 리스트로 저장한다.

응용

TS7 = 'C:/Users/UserName/project/TS7'
TS8 = 'C:/Users/UserName/project/TS8'

dirs_path = TS7

image_01 = glob.glob(dirs_path + '/**/*_01.jpg', recursive=True)

image_0203 = glob.glob(dirs_path + '/**/*_03.jpg', recursive=True) \
			+ glob.glob(dirs_path + '/**/*_02.jpg', recursive=True)

설명 :
TS7의 하위 디렉터리에 있는 파일명이 "~_01.jpg"로 끝나는 이미지와, "~_02.jpg","~_03.jpg"으로 끝나는 이미지 모두를 각각 리스트로 저장함.

0개의 댓글