본문 바로가기
  • Hello_
Python

[Python] glob - 같은 확장자인 파일만 획득하기

by LDwDL 2022. 8. 30.
728x90
반응형

오늘은 경로안에 같은 확장자인 파일만 획득할 수 있도록 해주는 glob 라이브러리에 대해 포스팅하겠다.

 

같은 확장자의 파일 획득하기

glob는 같은 확장자를 획득할때 유용한 라이브러리이다.

glob가 같은 확장자의 파일을 추출하는데 유용한 이유는 특정 문자열이 포함된 파일들을 추출 할 수 있기 때문이다.

 

[읽을 폴더 정보]

다양한 폴더와 .wav, .txt, .dcm 확장자들이 함께 있는 형태이다.

폴더 형태

 

[라이브러리 선언 및 하위 폴더 출력_1]

glob 라이브러리의 glob 함수를 선언한다.

'*'은 모든 조건을 포함한다는 얘기로 해당 경로의 모든 폴더가 출력된다.

from glob import glob

print(glob('./*'))
# ['.\\LIDC', '.\\music_sample', '.\\Untitled.ipynb']

 

[하위 폴더 출력_2]

music_sample 폴더 내의 모든 폴더 및 파일들을 출력이 된다.

print(glob('./music_sample/*'))

"""
['./music_sample\\0001.wav',
 './music_sample\\0002.wav',
 './music_sample\\0003.wav',
 './music_sample\\0004.wav',
 './music_sample\\0005.wav',
 './music_sample\\0006.wav',
 './music_sample\\0007.wav',
 './music_sample\\0008.wav',
 './music_sample\\1-001.dcm',
 './music_sample\\annotation.txt']
 """

 

[같은 확장자 출력]

위에서 언급했듯 '*'은 모든 조건을 포함시킬 수 있도록 한다.

이를 응용하여 특정 확장자는 선언하고 이후 나머지 문자열은 '*'로 선언해준다면 선언한 확장자를 가진 파일 및 폴더만 출력이 된다.

print(glob('./music_sample/*.wav'))  # 마지막에 '.wav'가 포함된 파일 출력

"""
['./music_sample\\0001.wav',
 './music_sample\\0002.wav',
 './music_sample\\0003.wav',
 './music_sample\\0004.wav',
 './music_sample\\0005.wav',
 './music_sample\\0006.wav',
 './music_sample\\0007.wav',
 './music_sample\\0008.wav']
"""

 

[특정 문자열이 포함된 파일 및 폴더 출력]

또한 특정 문자열이 포함된 파일 및 폴더만 출력하는 것도 가능하다.

print(glob('./music_sample/*00*')) # 가운데 '00'이 포함된 파일 출력

"""
['./music_sample\\0001.wav',
 './music_sample\\0002.wav',
 './music_sample\\0003.wav',
 './music_sample\\0004.wav',
 './music_sample\\0005.wav',
 './music_sample\\0006.wav',
 './music_sample\\0007.wav',
 './music_sample\\0008.wav',
 './music_sample\\1-001.dcm']
 """

 

위와 같이 glob 함수는 특정 문자열을 포함하거나 특정 확장자를 가진 파일만 출력하도록 용이하게 만들어주는 라이브러리이다.

 

 

 

728x90
반응형

댓글