콘텐츠로 건너뛰기

pathlib 경로 사용 방법

[

Python의 pathlib 모듈: 파일 시스템 다루기

파일을 다루고 파일 시스템과 상호작용하는 것은 Python 개발자에게 흔한 작업입니다. 어떤 경우에는 파일을 읽거나 쓰는 작업만을 수행해야 할 수도 있지만, 때로는 좀 더 복잡한 작업을 해야 할 때도 있습니다. 예를 들어, 특정 디렉토리에 있는 특정 유형의 모든 파일을 나열하거나, 주어진 파일의 상위 디렉토리를 찾거나, 이미 존재하지 않는 고유한 파일 이름을 만들어야 할 수도 있습니다. 이런 경우에 바로 pathlib이 필요한 작업과정입니다.

pathlib 모듈은 Python의 표준 라이브러리 중 일부로, 이러한 작업들을 수월하게 할 수 있도록 도와줍니다. 이 모듈은 필요한 기능을 한 곳에 모아두고 편리한 Path 객체를 통해 메서드와 속성으로 제공합니다.

이 튜토리얼에서는 다음과 같은 주제를 다룰 것입니다:

  • Python에서 파일과 디렉토리 경로(path) 작업하기
  • 다양한 방법으로 Path 객체를 인스턴스화하는 방법
  • pathlib을 사용하여 파일을 읽고 쓰는 방법
  • 파일을 복사, 이동 및 삭제하는 방법에 대한 주의
  • 경로와 기반 파일 시스템을 조작하는 방법
  • 경로의 **구성 요소(component)**를 추출하는 방법

또한, 이 튜토리얼에서는 일상적인 파일 작업에 사용할 수 있는 다양한 코드 예제도 다룰 것입니다. 예를 들어, 파일 개수 세기, 디렉토리 트리 표시, 가장 최근에 수정된 파일 찾기, 고유한 파일 이름 생성 등을 살펴볼 것입니다.

pathlib이 많은 메서드와 속성을 제공하는 것은 멋지지만, 그것들을 실시간으로 기억하기는 어려울 수 있습니다. 이 때에는 치트시트가 유용할 수 있습니다. 치트시트를 받으려면 아래 링크를 클릭하세요:

문자열로 경로를 표현하는 방식의 문제점

Python의 pathlib을 사용하면 일부 문제를 해결할 수 있습니다. 유연한 Path 클래스는 직관적인 의미론적 구문을 제공합니다. 그러나 클래스를 더 자세히 살펴보기 전에, pathlib이 등장하기 전에 Python 개발자들이 어떻게 경로를 다뤘는지 살펴보겠습니다.

다음 코드는 파일을 하위 폴더로 이동시키는 코드의 예시입니다:

Python

import glob
import os
import shutil
for file_name in glob.glob("*.txt"):
new_path = os.path.join("archive", file_name)
shutil.move(file_name, new_path)

가능한 많은 세부적이고 단계별로 실행 가능한 샘플 코드를 포함하도록 합니다.