Published on

glob.glob()

Authors
  • avatar
    Name
    Inhwan Cho
    Twitter

폴더의 모든 목록

  • globs는 리눅스 운영체제의 명령어 인자로, 파이썬에서도 import glob하여 사용이 가능합니다.
  • 파일을 검색하는 명령어로 잘 사용하면 파일 관리에 매우 유용합니다.
#파일 목록
folder : file1.txt, file2.txt, file101.txt, file102.txt, file_a.txt, file_b.txt, file1.jpg, file2.jpg
folder/sub_folder : subfile1.txt, subfile2.txt
folder/sub_folder/sub/sub2 : sub2.txt

import glob

# '*'는 임의 길이의 모든 문자열을 의미한다.
output = glob.glob('folder/*.txt')
print(output)
['folder/file1.txt', 'folder/file102.txt', 'folder/file2.txt', 'folder/file_a.txt', 'folder/file_b.txt']

# '?'는 한자리의 문자를 의미한다. file_a.txt 같은 파일들은 검색하지 못함
output = glob.glob('folder/file?.*')
print(output)
['folder/file1.bmp', 'folder/file1.txt', 'folder/file2.bmp', 'folder/file2.txt', 'folder/file_a.txt', 'folder/file_b.txt']

# '**'은 항목을 전체 찾아줍니다.(디렉토리 이름까지 가능)
output = glob.glob('folder/**xt')
print(output)
['folder/file1.txt', 'folder/file102.txt', 'folder/file2.txt', 'folder/file_a.txt', 'folder/file_b.txt', 'folder/file12.txt]

# '[]'를 사용하여 정규표현식으로 사용도 가능합니다.
output = glob.glob('folder/file[0-9]*.txt')
print(output)
['folder/file1.txt', 'folder/file102.txt', 'folder/file2.txt']