반응형

파이썬, 특정 경로 파일 목록 또는 확장명 기준 파일 목록 출력

 

글. 오상문 sualchi@daum.net

 

  다음 예제 코드를 실행하면 지정 경로(C:\temp)에 있는 파일의 목록과 '.mid'로 끝나는 미디 파일 목록을 가져와서 출력합니다.

import os
def fileList(path, ext=""): # 경로, 확장명(점 제외)
    fList = []
    try:
        files = os.listdir(path)  # 경로에 있는 모든 파일과 경로명 목록
    except FileNotFoundError:
        return []  
    for f in files:       
        if not os.path.isdir(f):      # 디렉터리는 제외
            splitName = f.split('.')  # 확장명 확인을 위해 '.' 기준으로 분리
            if ext == "" or splitName[-1] == ext: # 전체 또는 끝이 확장명과 같으면 선택
                fList.append(f)                  
    return fList
if __name__ == "__main__":
    path = "c:/temp"      # 작업 대상 디렉터리, 현재 디렉터리는 os.getcwd()
    print("경로 " + path + " 파일 목록")
    files = fileList(path, "")      # 디렉터리를 제외한 모든 파일 목록
    for filename in files:          # MID 파일 목록 
        print(filename)
    print("경로 " + path + " 미디(.mid) 파일 목록")       
    files = fileList(path, "mid")   # 미디 파일 (*.mid)
    for filename in files:          # 미디 파일 목록 
        print(filename)

 

실행 결과는 C:\temp 디렉터리 존재 유무 및 존재하는 파일에 따라 달라집니다.

참고로 제 경우에는 다음처럼 출력됩니다. 

경로 c:/temp 파일 목록
AUtempR
bach_0.mid
bach_1.mid
bach_2.mid
bach_3.mid
bach_4.mid
bach_5.mid
hello.py
hitel.jpg
lotto.txt
mymodel.h5
temp.txt
test.mid
test.txt
test2.txt
경로 c:/temp 미디(.mid) 파일 목록
bach_0.mid
bach_1.mid
bach_2.mid
bach_3.mid
bach_4.mid
bach_5.mid
test.mid
반응형

+ Recent posts