본문 바로가기

프로그래밍 언어/Python 기초

[Python 기초] 파일 핸들링 모듈 glob

 

Glob 이란?

- glob은 파일들의 리스트를 뽑을 때 사용

- 파일 시스템에서 특정 패턴과 일치하는 파일 경로를 검색하는 기능을 제공하여 단순히 문자열들을 합치는 것을 넘어서 특정 패턴을 만족하는 파일명을 검색해주는 기능까지 갖고 있음 → 파일의 경로명을 이용해서 손쉽게 파일들을 불러올 수 있음

 

glob(함수)

- glob 함수 : 인자로 받은 패턴과 이름이 일치하는 모든 파일과 디렉토리의 리스트를 반환

from glob import glob

glob('*.exe') # 현재 디렉토리의 .exe 파일

 

['python.exe', 'pythonw.exe']

 

glob('*.txt') # 현재 디렉토리의 .txt 파일

 

['LICENSE.txt', 'NEWS.txt']

 

weather_path = 'C:/Users/files/ML/weather'

pd.read_csv(glob(weather_path + '/' + '*.csv')[0]).head()

 

현재 경로가 아닌 다른 경로에 대해서 조회하는 방법

- 원시 문자열(※)을 활용하여 다른 경로의 파일에 대해서도 조회가 가능

glob(r'C:\U*') # C:\에서 이름이 U로 시작하는 디렉터리나 파일을 찾기

 

['C:\\Users', 'C:\\usr']

 

더보기

※ 원시 문자열(Raw String)

원시 문자열 : 백슬래시를 해석하지 않는 문자열 리터럴로서, 소문자 'r'을 앞에 붙여서 원시 문자열로 나타낸다.

 

rs = r'c:\newdata\test' # 원시(백슬래시를 해석하지 않음)
rs

'c:\\newdata\\test'

 

- 문자열은 입력한 그대로의 리터럴 텍스트로, 백슬래시가 특별히 중요할 때 이것을 사용하면 편리하다.

ex. 파일명, 정규 표현식(regular expression)

 

 


Reference

- https://wikidocs.net/83

- https://wikidocs.net/84384