파이썬의 glob 모듈은 파일 시스템에서 파일과 디렉터리를 검색하는 데 사용되는 기능을 제공합니다. 이 모듈은 간편한 파일 경로 패턴 매칭을 지원하여 특정 파일을 찾거나 파일 목록을 가져오는 작업을 쉽게 수행할 수 있습니다. glob 모듈의 주요 기능과 사용법에 대해 알아보고, 실제 예제를 통해 활용 방법을 살펴보겠습니다.
파일 경로 패턴 매칭
glob 모듈은 와일드카드 문자(* 및 ?)를 사용하여 파일 경로 패턴 매칭을 수행합니다. 주요 함수는 다음과 같습니다.
- glob.glob(pathname): 지정된 경로 패턴에 매칭되는 파일 및 디렉터리의 목록을 반환합니다.
- glob.iglob(pathname): glob.glob()와 동일한 기능을 수행하지만, 이터레이터(iterator)를 반환하여 메모리 사용을 최적화합니다.
import glob
# 현재 디렉터리에서 모든 파일 목록 가져오기
files = glob.glob('*')
print(files) # ['file1.txt', 'file2.txt', 'directory']
# 특정 디렉터리에서 특정 확장자의 파일 목록 가져오기
py_files = glob.glob('path/to/directory/*.py')
print(py_files) # ['path/to/directory/file1.py', 'path/to/directory/file2.py']
디렉터리 검색
glob 모듈을 사용하여 디렉터리를 검색하는 것도 가능합니다. 와일드카드 문자를 사용하여 검색 패턴을 지정하면 해당 패턴과 일치하는 디렉터리를 찾을 수 있습니다.
import glob
# 상위 디렉터리에서 모든 하위 디렉터리 목록 가져오기
directories = glob.glob('path/to/directory/*/')
print(directories) # ['path/to/directory/subdirectory1/', 'path/to/directory/subdirectory2/']
경로 확장
glob 모듈은 경로 확장(path expansion)을 지원합니다. 경로 확장을 사용하면 환경 변수나 사용자 디렉터리(~)와 같은 특정 토큰을 실제 파일 경로로 확장할 수 있습니다.
import glob
# 사용자 디렉터리에서 파일 목록 가져오기
user_files = glob.glob('~/documents/*.txt')
print(user_files) # ['/Users/username/documents/file1.txt', '/Users/username/documents/file2.txt']
결론
glob 모듈은 파이썬에서 파일 시스템을 검색하고 파일 및 디렉터리를 찾는 데 유용한 도구입니다. 이 모듈을 사용하면 파일 경로 패턴 매칭, 디렉터리 검색 및 경로 확장 등 다양한 작업을 간편하게 수행할 수 있습니다.
'IT > python' 카테고리의 다른 글
파이썬 예외처리 (0) | 2023.06.02 |
---|---|
파이썬 클래스(class) (0) | 2023.06.02 |
파이썬 pickle 모듈 (0) | 2023.06.01 |
파이썬 os 모듈 (1) | 2023.06.01 |
파이썬 random 모듈 (0) | 2023.05.31 |
댓글