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

파이썬에서 디렉토리 내용을 나열하는 방법 총정리

파이썬에서 특정 디렉토리의 내용을 확인하고 싶을 때 가장 기본적으로 사용되는 방법은 os.listdir() 함수입니다. 이 함수는 지정한 경로(my_path)에 있는 모든 항목, 즉 파일과 디렉토리를 모두 리스트 형태로 반환합니다.

기본 사용 예제

현재 작업 디렉토리의 내용을 나열하는 간단한 예제는 다음과 같습니다:

>>> 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() 함수를 활용해 필터링할 수 있습니다. 리스트 컴프리헨션(list comprehension)을 사용하면 한 줄로 깔끔하게 처리할 수 있습니다:

>>> 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(path): 해당 경로의 모든 파일과 디렉토리 이름을 리스트로 반환합니다.
  • os.path.isfile(): 경로가 일반 파일인지 확인합니다.
  • os.path.join(): 디렉토리 경로와 파일명을 운영체제에 맞게 안전하게 결합해 줍니다.

참고로 파이썬 3.4 이상에서는 pathlib.Path.iterdir() 또는 os.scandir()를 사용하면 더 효율적이고 객체 지향적인 방식으로 디렉토리를 탐색할 수 있으니, 최신 프로젝트에서는 함께 고려해 보시기 바랍니다.