glob은 파일을 쉽게 찾을 수 있게 도와주는 파이썬 도구입니다. 예를 들어 컴퓨터에 있는 여러 파일들 중에서 원하는 파일을 찾고 싶을 때 사용합니다. '*'나 '?' 같은 특별한 문자(와일드카드라고 부름)를 사용해서 비슷한 이름을 가진 여러 파일을 한꺼번에 찾을 수 있어요.
쉽게 설명하면, 만약 여러분의 컴퓨터에 'photo1.jpg', 'photo2.jpg', 'photo3.jpg' 같은 사진 파일들이 있다면, glob을 사용해서 'photo*.jpg'라고만 입력해도 이 사진들을 모두 한 번에 찾을 수 있습니다. 또는 '보고서_2024'로 시작하는 모든 파일을 찾거나, '.pdf'로 끝나는 모든 문서를 찾는 것도 가능합니다.
기본 패턴 매칭 문자
glob에서 사용되는 주요 패턴 매칭 문자들은 다음과 같습니다:
•
: 임의의 문자열을 의미
? : 단일 문자를 의미
[abc] : 대괄호 안의 문자 중 하나와 매칭
[0-9] : 범위 내의 숫자 중 하나와 매칭
기본 사용 예제
import glob
# 현재 디렉토리의 모든 Python 파일 찾기
python_files = glob.glob("*.py")
# 특정 디렉토리의 모든 텍스트 파일 찾기
text_files = glob.glob("/path/to/directory/*.txt")
# 재귀적으로 모든 하위 디렉토리 검색
all_python_files = glob.glob("**/*.py", recursive=True)
# 특정 패턴의 파일 찾기 (예: test로 시작하는 모든 파일)
test_files = glob.glob("test*.*")
Python
복사
고급 사용 예제
import glob
import os
# 여러 확장자 파일 찾기
image_files = glob.glob("*.{jpg,png,gif}", recursive=True)
# 특정 형식의 파일명 찾기
numbered_files = glob.glob("file[0-9].txt")
# iglob 사용하여 메모리 효율적으로 처리
for file in glob.iglob("*.py"):
print(file)
Python
복사
glob는 특히 대량의 파일을 처리해야 하는 경우나 자동화된 파일 처리 스크립트를 작성할 때 매우 유용합니다. 또한 iglob() 함수를 사용하면 메모리 사용을 최적화할 수 있어 대용량 파일 처리에도 적합합니다.