[파이썬] os `os.path` 모듈 소개

파이썬은 운영 체제와 상호작용하는 데 유용한 os 모듈을 제공합니다. 이 모듈은 파일 및 디렉토리 경로를 작업하기 위한 다양한 함수를 제공하는데, 그 중에서도 가장 중요한 모듈은 os.path입니다. os.path 모듈은 파일 경로를 안전하게 조작하고 검증하는 데 사용됩니다.

os.path 모듈의 기능

os.path 모듈은 다음과 같은 기능을 제공합니다:

파일 및 디렉토리 경로 조작

os.path 모듈은 파일 경로를 조작하는 데 사용되는 다양한 함수를 제공합니다. 대표적인 함수는 다음과 같습니다:

os.path.abspath(path)

abspath 함수는 상대 경로를 절대 경로로 변환합니다. 예를 들어,

import os

relative_path = "../data/file.txt"
absolute_path = os.path.abspath(relative_path)
print(absolute_path)

출력:

/Users/username/projects/data/file.txt

os.path.join(path1, path2, ...)

join 함수는 여러 개의 경로를 연결하여 새로운 경로를 생성합니다. 예를 들어,

import os

path1 = "/home/user"
path2 = "documents"
new_path = os.path.join(path1, path2)
print(new_path)

출력:

/home/user/documents

경로 유효성 검사

os.path 모듈은 경로의 유효성을 검사하는 함수도 제공합니다. 대표적인 함수는 다음과 같습니다:

os.path.exists(path)

exists 함수는 경로가 존재하는지 확인합니다. 예를 들어,

import os

path = "/path/to/file.txt"
exists = os.path.exists(path)
print(exists)

출력:

True

os.path.isfile(path)

isfile 함수는 경로가 파일인지 확인합니다. 예를 들어,

import os

path = "/path/to/file.txt"
is_file = os.path.isfile(path)
print(is_file)

출력:

True

경로 구성요소 추출

os.path 모듈은 경로의 구성요소를 추출하는 함수도 제공합니다. 대표적인 함수는 다음과 같습니다:

os.path.basename(path)

basename 함수는 경로의 기본 이름을 반환합니다. 예를 들어,

import os

path = "/path/to/file.txt"
basename = os.path.basename(path)
print(basename)

출력:

file.txt

os.path.dirname(path)

dirname 함수는 경로의 디렉토리 이름을 반환합니다. 예를 들어,

import os

path = "/path/to/file.txt"
dirname = os.path.dirname(path)
print(dirname)

출력:

/path/to

경로 분리 및 조합

os.path 모듈은 경로를 분리하고 조합하는 함수도 제공합니다. 대표적인 함수는 다음과 같습니다:

os.path.split(path)

split 함수는 디렉토리 경로와 기본 이름을 분리하여 튜플로 반환합니다. 예를 들어,

import os

path = "/path/to/file.txt"
directory, filename = os.path.split(path)
print(directory, filename)

출력:

/path/to file.txt

os.path.splitext(path)

splitext 함수는 파일 경로와 확장자를 분리하여 튜플로 반환합니다. 예를 들어,

import os

path = "/path/to/file.txt"
file, extension = os.path.splitext(path)
print(file, extension)

출력:

/path/to/file .txt

경로에 대한 정보 얻기

os.path 모듈은 경로에 대한 정보를 얻는 함수도 제공합니다. 대표적인 함수는 다음과 같습니다:

os.path.getsize(path)

getsize 함수는 파일의 크기를 바이트 단위로 반환합니다. 예를 들어,

import os

path = "/path/to/file.txt"
size = os.path.getsize(path)
print(size)

출력:

1024

os.path.getmtime(path)

getmtime 함수는 파일의 최종 수정 시간을 반환합니다. 반환되는 값은 에포크 시간으로 표시됩니다. 예를 들어,

import os
from datetime import datetime

path = "/path/to/file.txt"
mtime = os.path.getmtime(path)
dt = datetime.fromtimestamp(mtime)
print(dt)

출력:

2021-10-01 12:34:56

os.path 모듈은 파일 및 디렉토리 경로를 다루는 데 매우 유용한 기능을 제공합니다. 이를 활용하여 파일 경로를 조작하고 유효성을 검사하는 등의 작업을 보다 쉽고 안전하게 수행할 수 있습니다.