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
'프로그래밍언어 > 파이썬[중급]' 카테고리의 다른 글
[파이썬][중급] Chapter41. 압축 파일 처리 (zipfile, tarfile) (0) | 2025.05.24 |
---|---|
[파이썬][중급] Chapter40. 파일 입출력 고급 기법 (0) | 2025.05.24 |
[파이썬][중급] Chapter38. 예외 처리 심화와 사용자 정의 예외 (0) | 2025.05.24 |
[파이썬][중급] Chapter37. 정규표현식(re 모듈) 기초 (0) | 2025.05.24 |
[파이썬][중급] Chapter36. calendar 모듈과 날짜 계산 응용 (0) | 2025.05.24 |