pathlib는 「파일 경로를 객체로 다루는」 현대적 라이브러리입니다.
전통의 os.path보다 훨씬 직관적이고 강력하며, Python 3.4부터 표준에 포함됐습니다.
새 코드에는 pathlib을 권장합니다.
기본 사용.
from pathlib import Path.
p = Path("/home/user/data.txt").
p.name — "data.txt".
p.stem — "data"(확장자 제외).
p.suffix — ".txt".
p.parent — Path("/home/user").
점 문법으로 경로의 부분을 자연스럽게 접근.
경로 결합.
p = Path("/home/user") / "docs" / "report.pdf" — / 연산자로 경로 결합.
os.path.join보다 훨씬 읽기 쉽습니다.
p.resolve() — 절대 경로로.
p.absolute() — 절대 경로(심볼릭 링크 유지).
파일·디렉토리 작업.
p.exists() — 존재 여부.
p.is_file()·p.is_dir() — 파일/디렉토리 여부.
p.mkdir(parents=True, exist_ok=True) — 디렉토리 생성(부모 포함, 이미 있으면 무시).
p.unlink() — 파일 삭제.
p.rename(new_name) — 이름 변경.
파일 내용 읽기·쓰기.
p.read_text(encoding="utf-8") — 한 줄로 전체 읽기.
p.write_text("내용", encoding="utf-8") — 한 줄로 쓰기.
바이너리는 read_bytes·write_bytes.
open() + with 패턴보다 훨씬 짧습니다.
또 list(p.glob("*.txt")) — 패턴 매칭 파일 목록, p.rglob("*.py") — 재귀적 검색까지 한 줄로 가능합니다.
한 줄 요약
pathlib는 파일 경로를 객체로 다루며, /로 결합·점 문법으로 부분 접근·read_text/write_text로 한 줄 입출력·glob/rglob로 패턴 매칭을 지원합니다.
os.path보다 훨씬 직관적입니다.
더 알아볼 것
- os.path와 pathlib의 비교
- Windows·맥·리눅스 경로 처리
- PurePath — OS 독립적 경로