본문 바로가기
프로그래밍언어/파이썬[중급]

[파이썬][중급] Chapter39. 파일 경로 처리와 pathlib 모듈

by about_IT 2025. 5. 24.
728x90

pathlib는 파일과 디렉토리 경로를 객체지향 방식으로 처리할 수 있도록 해주는 표준 라이브러리입니다. 문자열 기반의 os.path보다 직관적이고 유연하며, 다양한 플랫폼에서 동일한 코드를 사용할 수 있습니다.


● Path 객체 생성

from pathlib import Path

p = Path("example.txt")
print(p.name)     # 파일 이름
print(p.suffix)   # 확장자
print(p.stem)     # 확장자 제외한 이름

Path 객체는 경로 정보를 여러 속성으로 분리해서 다룰 수 있습니다.


● 경로 결합

base = Path("/home/user")
file_path = base / "documents" / "file.txt"
print(file_path)  # /home/user/documents/file.txt

/ 연산자를 사용하여 경로를 손쉽게 이어 붙일 수 있습니다.


● 경로 검사 및 파일 처리

print(file_path.exists())      # 존재 여부 확인
print(file_path.is_file())     # 파일인지 확인
print(file_path.is_dir())      # 디렉토리인지 확인

파일 또는 디렉토리 존재 여부 및 타입을 간편하게 확인할 수 있습니다.


● 파일 목록과 디렉토리 순회

folder = Path(".")
for f in folder.iterdir():
    print(f)

iterdir()은 현재 디렉토리 내의 파일과 폴더를 순회합니다. glob(), rglob()은 패턴 검색도 가능합니다.

for f in folder.glob("*.txt"):
    print(f)

● 파일 생성과 삭제

new_file = Path("sample.txt")
new_file.write_text("Hello, world!")     # 파일 쓰기
content = new_file.read_text()           # 파일 읽기
new_file.unlink()                        # 파일 삭제

write_text(), read_text()는 텍스트 파일을 간단히 다룰 수 있는 메서드입니다.


● 마무리

pathlib은 파이썬식이고 직관적인 경로 처리 방식을 제공합니다. 특히 크로스 플랫폼 환경이나 자동화 스크립트 작성 시 매우 유용하므로, 기존의 os.path에서 pathlib으로 전환하는 것을 추천합니다.

728x90