반응형
Python - 폴더 파일 리스트 가져오기
python에서 운영체제 폴더 아래의 파일들을 불러올 때는 os 패키지를 이용한다. 아래 코드에서 filepath 부분에 운영체제 상에 폴더 path를 적으면 폴더 내부의 파일 이름을 가져올 수 있다.
from os import listdir from os.path import isfile, join files = [f for f in listdir('filepath') if isfile(join('filepath', f))]
['Info.txt', 'Licence.txt', 'mdb001.pgm', 'mdb002.pgm', 'mdb003.pgm', 'mdb004.pgm', 'mdb005.pgm', 'mdb006.pgm', 'mdb007.pgm', 'mdb008.pgm',
코드를 실행하면 폴더 내부의 파일들의 이름이 files 리스트에 저장된다. 만약 여기서 특정 문자열을 포함한 파일들만 남기고 싶으면 아래와 같이 문자열의 기본함수인 find함수를 이용한다. -1을 리턴하면 해당 문자열이 없는 것이기 때문에 아래의 if문은 해당 문자열을 포함한 원소만 가져오게 한다.
files = [x for x in files if x.find("mdb") != -1] files
['mdb001.pgm', 'mdb002.pgm', 'mdb003.pgm', 'mdb004.pgm', 'mdb005.pgm', 'mdb006.pgm', 'mdb007.pgm', 'mdb008.pgm'
반응형
'Tools > Python' 카테고리의 다른 글
Python - Pandas isin 구문 (0) | 2018.02.25 |
---|---|
Python - sklearn LabelEncoder, OnehotEncoder 사용 (0) | 2017.11.01 |
Python - Pandas 변수 정렬하기 (0) | 2017.10.24 |
Python - Pandas 그룹별 평균 구하기 (2) | 2017.10.24 |
Python으로 빈도표 만들기 (Pandas Crosstab) (0) | 2017.10.19 |