파이썬은 파일 및 디렉토리를 탐색하는 데 매우 편리한 기능을 제공합니다. 이러한 기능을 사용하여 파일 경로를 조작하고, 디렉토리를 탐색하며, 필요한 정보를 얻을 수 있습니다. 이번 포스팅에서는 파이썬으로 파일 경로와 디렉토리를 탐색하는 방법에 대해 알아보겠습니다.
파일 경로 다루기
파일 경로를 다룰 때는 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}")
파이썬의 파일 경로 및 디렉토리 탐색 기능을 사용하여 파일 경로를 다루고 원하는 정보를 추출하며 디렉토리를 탐색하면 효율적이고 유연한 파일 및 디렉토리 관리가 가능합니다. 이러한 기능을 적절하게 활용하여 소프트웨어 개발과 데이터 분석 등 다양한 프로그래밍 작업에 유용하게 사용할 수 있습니다.