glob 모듈

개발자 동찬 ㅣ 2023. 10. 12. 23:05

프로젝트 2일차

 

파일의 내용을 찾기 위해서는 전에는 os모듈을 이용하여 간단한 파일의 내용을 출력하는 프로그램을 작성하였다.

 

단순히 파일의 내용을 출력하고 if문으로 검색하는 단순한 프로그램을 구현 하였다.

 

하지만 큰 문제점이 있었다. 

 

내가 원하는 단어 및 문단을 찾을 수 없고 한 줄에 있는 문자가 모두 일치하는 것만 찾을 수 있었다.

 

그러던 중 glob 모듈은 패턴을 활용할 수 있어서 이 문제점을 바로 해결 할 수 있다고 생각하였다.

 

glob 모듈은 패턴을 사용하여 현재 폴더(디렉토리)는 물론 하위 경로의 파일들을 검색할 때 사용할 수 있습니다.

 

https://wikidocs.net/153155

 

위 사이트를 참고하여 glob 모듈을 사용하여 현재 폴더 내에 해당 패턴을 찾는 프로그램을 구현하여 보았다.

 

import glob

# 현재 폴더 내 모든 폴더
for folder_name in glob.glob('**/'): ## 또는 glob.glob(*/)
    print(folder_name)

# 현재 폴더 내 모든 폴더와 파일
for f in glob.glob('**'): ## 또는 glob.glob(*)
    print(f)

# 현재 폴더내에 test로 시작하는 파일명 찾기
start_str = 'test'
for f in glob.glob(f'test_folder/{start_str}*.txt'):
    print(f)