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

Python에서 파일 경로(디렉토리)의 일부를 추출하는 방법

Python에서 상위 디렉토리 추출하기

파일 작업을 하다 보면 전체 경로에서 특정 부분, 예를 들어 상위 디렉토리만 추출해야 하는 경우가 자주 있습니다. Python에서는 버전에 따라 몇 가지 방법으로 이를 처리할 수 있습니다.

1. pathlib 모듈 사용 (Python 3.4 이상)

Python 3.4부터 도입된 pathlib 모듈은 객체 지향적인 방식으로 경로를 다룰 수 있게 해주며, .parent 속성을 사용하면 간단하게 상위 디렉토리를 얻을 수 있습니다.

from pathlib import Path
print(Path('/home/username').parent)

실행 결과:

/home

pathlib는 코드 가독성이 뛰어나고 운영체제별 경로 차이도 자동으로 처리해 주기 때문에, 최신 Python 프로젝트에서는 가장 권장되는 방식입니다.

2. os.path 모듈 사용 (구버전 호환)

Python 3.4 미만 버전이나 기존 코드와의 호환성이 필요한 경우에는 os.path 모듈을 활용할 수 있습니다. 경로에 상위 디렉토리를 의미하는 '..'를 결합한 뒤, os.path.abspath()로 절대 경로를 구하면 됩니다.

import os
print(os.path.abspath(os.path.join('/home/username', '..')))

실행 결과:

/home

정리

  • Python 3.4 이상: Path('경로').parent — 간결하고 직관적
  • 구버전: os.path.abspath(os.path.join(경로, '..')) — 널리 호환됨

새로운 프로젝트라면 pathlib를 사용하는 것이 유지보수 측면에서 더 유리하며, 여러 단계 위의 디렉토리가 필요할 때도 Path('/home/username').parent.parent처럼 속성을 연속으로 호출하면 됩니다.