[python] glob 사용법

glob 는 python 안에 기본으로 내장되어 있는 패키지? x 모듈! 이다. 빅데이터 시대에 데이터가 많은 경우 이 glob 는 데이터 명들을 리스트 형태로 불러와 한 눈에 규칙성을 볼 수 있게 해주는 기능.
디렉토리 (내가 설정한) 안에 같은 확장자로 되어있는 파일을 보여준다.
특정한 문자열이 포함되어 있는 파일만도 추출할 수 있다니 R 에서도 이런 기능이 있었는데 너무 늦게 알았었다.
 
A = glob.glob('원하는 문자열*.확장자')와 같은 형식으로 쓰ㅡ면 된다.
특정한 문자열 포함 파일은 공통된 문자열만 입력한 뒤에 다른 문자열이 나오면 *로 대체해주면 모두 읽히게 된다. 

진짜 유용한 기능인듯.

- glob 할 때 정렬 안되서 반환되면 다양한 순서로 정렬이 가능하다

filst = sorted(glob.glob('*')) for fname in filst: pass
sorted 를 사용하면 된다. R에서는 sort 인데 여기는 sorted 다. 

key 에 옵션을 주면 신기하게도 변경 가능하다. 

1. 파일 생성일

filst = sorted(glob.glob('*'), key=os.path.getctime) for fname in filst: pass

2. 파일 최근 접근일

filst = sorted(glob.glob('*'), key=os.path.getatime) for fname in filst: pass


3. 파일 최종 수정일

filst = sorted(glob.glob('*'), key=os.path.getmtime) # 파일 최종 수정일 for fname in filst: pass

4.  파일 사이즈 큰 순서대로 

filst = sorted(glob.glob('*'), key=os.path.getsize) # 파일 사이즈로 정렬 for fname in filst: pass



이렇게도 된다.
출처는 https://stackoverflow.com/questions/6773584/how-is-pythons-glob-glob-ordered 
인데 여기서는 사진 파일으로

How is Pythons glob.glob ordered?

I have written the following Python code: #!/usr/bin/python # -*- coding: utf-8 -*- import os, glob path = '/home/my/path' for infile in glob.glob( os.path.join(path, '*.png') ): print infil...

stackoverflow.com

분석한다. 대단하다. 

728x90
반응형