glob.glob() 파일명을 리스트 형식으로

백건·2022년 1월 18일
0
post-thumbnail

설명

glob 모듈의 glob 함수는 사용자가 제시한 조건에 맞는 파일명을 리스트 형식으로 반환

제한 사항

  • 조건에 정규식을 사용할 수 없으며 엑셀 등에서도 사용할 수 있는 '*'와 '?'같은 와일드카드만을 지원

사용법

예시

dir폴더의 모든 서브폴더 및 파일 목록
dir : file1.txt, file2.txt, file101.txt, file102.txt, filea.txt, fileb.txt, file1.jpg, file2.jpg
dir/subdir : subfile1.txt, subfile2.txt

import glob

'*'는 임의 길이의 모든 문자열을 의미한다.

output = glob.glob('dir/*.txt')
print(output)
['dir\file1.txt', 'dir\file101.txt', 'dir\file102.txt', 'dir\file2.txt', 'dir\filea.txt', 'dir\fileb.txt']

'?'는 한자리의 문자를 의미한다.

output = glob.glob('dir/file?.*')
print(output)
['dir\file1.bmp', 'dir\file1.txt', 'dir\file2.bmp', 'dir\file2.txt', 'dir\filea.txt', 'dir\fileb.txt']

recursive=True로 설정하고 '**'를 사용하면 모든 하위 디렉토리까지 탐색한다.

기본값은 False이며, 파일이 너무 많을 경우에 사용하면 과도한 cost가 소모된다고 한다.

output = glob.glob('dir/**', recursive=True)
print(output)
['dir\', 'dir\file1.bmp', 'dir\file1.txt', 'dir\file101.txt', 'dir\file102.txt', 'dir\file2.

profile
마케팅을 위한 인공지능 설계와 스타트업 Log

0개의 댓글