[파이썬] 파일 경로와 디렉토리 탐색

파이썬은 파일 및 디렉토리를 탐색하는 데 매우 편리한 기능을 제공합니다. 이러한 기능을 사용하여 파일 경로를 조작하고, 디렉토리를 탐색하며, 필요한 정보를 얻을 수 있습니다. 이번 포스팅에서는 파이썬으로 파일 경로와 디렉토리를 탐색하는 방법에 대해 알아보겠습니다.

파일 경로 다루기

파일 경로를 다룰 때는 os.path 모듈을 사용합니다. 이 모듈은 다양한 파일 경로 관련 함수를 제공하여 파일 경로를 조작하고 경로 구성 요소를 추출하는 데 도움을 줍니다.

예를 들어, 다음과 같이 경로를 합치고 경로에서 파일 이름과 확장자를 추출할 수 있습니다:

import os

# 경로 합치기
path = os.path.join("folder", "subfolder", "file.txt")
print(path)  # 출력: folder/subfolder/file.txt

# 파일 이름과 확장자 추출
base_name = os.path.basename(path)
file_name, file_ext = os.path.splitext(base_name)
print(file_name)  # 출력: file
print(file_ext)  # 출력: .txt

디렉토리 탐색하기

파일이 아닌 디렉토리를 탐색할 때는 os 모듈의 listdir 함수를 사용합니다. 이 함수는 지정된 디렉토리의 파일 및 디렉토리 목록을 반환합니다.

예를 들어, 다음과 같이 디렉토리 내의 파일과 서브디렉토리를 출력할 수 있습니다:

import os

# 디렉토리 내의 파일과 서브디렉토리 목록 출력
dir_path = "folder"
for item in os.listdir(dir_path):
    item_path = os.path.join(dir_path, item)
    if os.path.isfile(item_path):
        print(f"파일: {item}")
    elif os.path.isdir(item_path):
        print(f"디렉토리: {item}")

디렉토리 탐색하기 (재귀적)

때로는 디렉토리 내의 모든 파일 및 서브디렉토리를 재귀적으로 탐색해야 할 수도 있습니다. 이를 위해 os 모듈 대신 pathlib 모듈을 사용할 수 있습니다. pathlib 모듈은 객체 지향적인 파일 시스템 경로 조작 기능을 제공하므로 더 직관적이고 쉽게 디렉토리를 탐색할 수 있습니다.

예를 들어, 다음과 같이 디렉토리와 그 하위 파일, 서브디렉토리를 재귀적으로 탐색할 수 있습니다:

from pathlib import Path

# 디렉토리와 하위 파일, 서브디렉토리 탐색
dir_path = Path("folder")
for item in dir_path.glob("**/*"):
    if item.is_file():
        print(f"파일: {item}")
    elif item.is_dir():
        print(f"디렉토리: {item}")

파이썬의 파일 경로 및 디렉토리 탐색 기능을 사용하여 파일 경로를 다루고 원하는 정보를 추출하며 디렉토리를 탐색하면 효율적이고 유연한 파일 및 디렉토리 관리가 가능합니다. 이러한 기능을 적절하게 활용하여 소프트웨어 개발과 데이터 분석 등 다양한 프로그래밍 작업에 유용하게 사용할 수 있습니다.