2017년 12월 6일 수요일

File/Directory 다루기

1. 특정 디렉토리의 파일 목록 가져오기

import os

dirPath = "./directory_name/subDirectory_name"    # 파일이 들어있는 디렉토리
fileList = os.listdir(dirPath)    # 해당 디렉토리에 있는 파일 목록을 만든다.

fileList는 해당 디렉토리에 존재하는 파일명을 갖는 리스트이다.


2. 특정 디렉토리 내에 있는 여러 파일들 중에서 특정 문자열을 포함한 파일 목록 가져오기

import glob

dirPath = ".\\directory_name\\subDirectory_name\\"
fileList0 = glob.glob(dirPath + "*")         # 모든 파일 목록
fileList1 = glob.glob(dirPath + "*.txt")     # 확장자가 txt인 파일 목록
fileList2 = glob.glob(dirPath + "*str*.txt") # 이름에 str"을 포함하고 확장자가 txt인 파일
fileList3 = glob.glob("*str*.txt")              # 이름에 str"을 포함하고 확장자가 txt인 파일

fileList0 ~ fileList2는 파일 경로와 파일명을 모두 포함하는 리스트이고 fileList3은 fileList2와 같은 조건이나 파일 경로를 따로 지정하지 않았기 때문에 현재 디렉토리인 경우에 해당한다. 이 경우 fileList3은 현재 디렉토리에 존재하는 파일명만 갖는 리스트이다.


3. 파일 경로가 파일명과 같이 저장된 목록에서 파일명만 뽑아내기

위의 예에서 fileList0 ~ fileList2는 파일 경로와 파일명을 모두 포함하는 리스트이다. 이 경우 파일 이름만 뽑아내기 위해서는 다음과 같이 한다.

filenameList0 = []
for k in range(len(fileList0))
     filenameList.append(os.path.basename(fileList0(k)))


댓글 없음:

댓글 쓰기

람다 표현식 (Lambda expression)

람다 표현식(Lambda expression)  람다 표현식으로 함수를 정의하고, 이를 변수에 할당하여 변수를 함수처럼 사용한다. (1) 람다 표현식       lambda <매개변수> : 수식      ※ 람다식을 실행하...