Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python에서 디렉토리 내 모든 파일 목록 가져오는 방법

Python에서 특정 디렉토리에 있는 모든 파일과 폴더의 목록을 확인하고 싶다면 os.listdir() 함수를 사용하면 됩니다. 이 함수는 지정한 경로(my_path)에 존재하는 파일과 디렉토리를 모두 리스트 형태로 반환합니다.

기본 사용 예제

os.listdir()은 다음과 같이 사용할 수 있습니다.

>>> import os
>>> os.listdir('.')
['DLLs', 'Doc', 'etc', 'include', 'Lib', 'libs', 'LICENSE.txt', 'NEWS.txt', 'python.exe', 'pythonw.exe', 'README.txt', 'Scripts', 'share', 'tcl', 'Tools', 'w9xpopen.exe']

파일만 필터링하기

os.listdir()의 결과에는 파일뿐만 아니라 하위 디렉토리도 함께 포함됩니다. 만약 파일만 필요하다면 os.path.isfile()을 활용해 결과를 필터링할 수 있습니다.

>>> import os
>>> file_list = [f for f in os.listdir('.') if os.path.isfile(os.path.join('.', f))]
>>> print(file_list)
['LICENSE.txt', 'NEWS.txt', 'python.exe', 'pythonw.exe', 'README.txt', 'w9xpopen.exe']

코드 설명

  • os.listdir('.'): 현재 디렉토리의 모든 항목(파일 + 폴더)을 가져옵니다.
  • os.path.join('.', f): 파일 이름에 경로를 결합해 전체 경로를 만듭니다.
  • os.path.isfile(...): 해당 경로가 실제 파일인지 검사하여, 디렉토리는 제외합니다.

이처럼 리스트 컴프리헨션(list comprehension)과 os.path.isfile()을 조합하면 원하는 조건에 맞는 파일 목록을 간단하고 효율적으로 얻을 수 있습니다.