본문 바로가기

코딩/파이썬 기초

파이썬 튜토리얼 046. glob 라이브러리의 glob() 함수로 원하는 이름의 디렉토리 및 파일 리스트 얻기

Python - Std. Library - glob

 

파이썬 표준 라이브러리 glob의 glob() 함수를 사용해 원하는 이름의 디렉토리 및 파일 리스트를 얻을 수 있다.

 

 

glob() 함수의 파라미터 정의는 다음과 같고, 아래의 예제들은 위의 이미지에서 보여지는 디렉토리 및 파일을 기준으로 한다.

 

glob.glob(pathname, *, recursive=False)

 

<코드 1>

import os
import glob

print(os.getcwd())
os.chdir('folder1')

#1
for ret in glob.glob('*.txt'):
    print(ret)

#2
for ret in glob.glob('1*'):
    print(ret)

#3
for ret in glob.glob('*1*'):
    print(ret)

 

#1 부문에서 glob() 함수는 디렉토리 또는 파일 이름이 .txt로 끝나는 모든 디렉토리 및 파일 이름을 리스트로 반환한다. 따라서 #1 부문에서 출력되는 결과는 아래와 같다.

 

1.txt
2.txt
sample1.txt

 

#2 부문에서 glob() 함수는 디렉토리 또는 파일 이름의 첫글자가 1로 시작하는 모든 디렉토리 및 파일 이름을 리스트로 반환한다.

 

1.py
1.txt

 

#3 부문에서 glob() 함수는 디렉토리 또는 파일 이름에 문자 1이 포함되어 있는 모든 디렉토리 및 파일 이름을 리스트로 반환한다.

 

1.py
1.txt
sample1.txt

 

<코드 2>

#4
for ret in glob.glob('?.txt'):
    print(ret)

#5
for ret in glob.glob('[1-2]*'):
    print(ret)

#6
for ret in glob.glob('*', recursive=True):
    print(ret)

#7
for ret in glob.glob('**', recursive=True):
    print(ret)
    
#8
for ret in glob.glob('**\\*2*.txt', recursive=True):
    print(ret)

 

#4 부문에서 glob() 함수는 디렉토리 또는 파일 이름이 4글자에 .txt로 끝나는 모든 디렉토리 및 파일 이름을 리스트로 반환한다.

 

1.txt
2.txt

 

#5 부문에서 glob() 함수는 디렉토리 또는 파일 이름이 문자 1또는 2로 시작하는 모든 디렉토리 및 파일 이름을 리스트로 반환한다.

 

1.py
1.txt
2.py
2.txt

 

#6 부문의 출력 결과는 다음과 같다.

 

1.py
1.txt
2.py
2.txt
folder2
sample1.txt

 

#7 부문에서 하위 디렉토리 내 정보도 리스트로 얻기 위해 '**' 표현식 및 recursive 파라미터의 값을 True로 설정한다.

 

1.py
1.txt
2.py
2.txt
folder2
folder2\21.py
folder2\21.txt
folder2\sample2.txt
sample1.txt

 

#8 부문의 출력 결과는 아래와 같다.

 

2.txt
folder2\21.txt
folder2\sample2.txt