본문 바로가기
Python/Python FAQ

Python 어떻게 디렉토리의 모든 파일을 나열할 수 있나요?, How do I list all files of a directory?

by 베타코드 2023. 5. 5.
반응형

질문

답변

os.listdir()은 디렉토리 내부의 모든 것 - 파일과 디렉토리 모두를 반환합니다.

os.pathisfile()은 파일만 나열하려는 경우 사용할 수 있습니다:

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 
반응형

댓글