반응형
질문
답변
os.listdir()
은 디렉토리 내부의 모든 것 - 파일과 디렉토리 모두를 반환합니다.
os.path
의 isfile()
은 파일만 나열하려는 경우 사용할 수 있습니다:
from os import listdir from os.path import isfile, join onlyfiles = [f for f in listdir(mypath) if isfile(join(mypath, f))]
또는, os.walk()
는 방문하는 각 디렉토리에 대해 파일과 디렉토리 두 개의 목록을 반환합니다. 최상위 디렉토리만 원하는 경우 첫 번째로 반환되는 것을 중단할 수 있습니다:
from os import walk f = [] for (dirpath, dirnames, filenames) in walk(mypath): f.extend(filenames) break
또는, 더 짧게:
from os import walk filenames = next(walk(mypath), (None, None, []))[2] # [] if no file
반응형
댓글