[파이썬] 파일 경로의 절대 경로와 상대 경로

파일을 다룰 때 경로를 지정하는 것은 중요한 부분입니다. 경로를 올바르게 지정하지 않으면 파일을 찾지 못하거나 잘못된 파일을 열 수 있습니다.

파이썬에서 파일 경로를 다루는 방법에는 두 가지가 있습니다 - 절대 경로와 상대 경로. 이 두 가지 방법을 이해하고 사용하는 것은 파일 조작에서 매우 유용합니다.

절대 경로 (Absolute Path)

절대 경로는 파일이나 디렉토리의 전체 경로를 나타냅니다. 이 경로는 파일이나 디렉토리가 위치한 루트 디렉토리부터 시작하여 해당 파일이나 디렉토리까지의 경로를 나타냅니다. 예를 들어, 다음은 절대 경로의 예입니다:

C:\Users\username\Documents\file.txt

위의 경로는 파일이 C 드라이브의 Users 폴더 아래에 있는 username 폴더의 Documents 폴더 안에 있는 file.txt 파일을 나타냅니다. 절대 경로는 파일이나 디렉토리의 정확한 위치를 지정하는 데 사용됩니다.

상대 경로 (Relative Path)

상대 경로는 현재 작업 디렉토리를 기준으로 파일이나 디렉토리의 위치를 나타냅니다. 상대 경로는 현재 작업 디렉토리로부터 얼마나 떨어져 있는지를 나타내며, . (현재 디렉토리)와 .. (상위 디렉토리)를 사용하여 표현됩니다. 예를 들어, 다음은 상대 경로의 예입니다:

../folder/file.txt

위의 경로는 현재 작업 디렉토리의 상위 디렉토리의 folder 폴더 안에 있는 file.txt 파일을 나타냅니다. 상대 경로는 파일이나 디렉토리의 위치를 현재 작업 디렉토리의 상대적인 위치로 표시하는 데 사용됩니다.

파일 경로 다루기 예제

파이썬에서 파일 경로를 다루는 방법을 알아보기 위해 다음 예제를 살펴봅시다:

import os

# 현재 작업 디렉토리 확인하기
current_directory = os.getcwd()
print("Current Directory:", current_directory)

# 절대 경로 구하기
absolute_path = os.path.abspath("file.txt")
print("Absolute Path:", absolute_path)

# 파일이 존재하는지 확인하기
file_exists = os.path.exists(absolute_path)
print("File exists:", file_exists)

# 파일의 부모 디렉토리 구하기
parent_directory = os.path.dirname(absolute_path)
print("Parent Directory:", parent_directory)

# 파일의 파일명 구하기
filename = os.path.basename(absolute_path)
print("Filename:", filename)

위의 예제에서 os 모듈을 사용하여 파일 경로를 다루었습니다. getcwd() 함수를 사용하여 현재 작업 디렉토리를 확인하고, abspath() 함수를 사용하여 절대 경로를 구했습니다. exists() 함수를 사용하여 파일이 존재하는지 확인하고, dirname() 함수와 basename() 함수를 사용하여 경로의 부모 디렉토리와 파일명을 구했습니다.

파일 경로를 다루는 방법은 파이썬에서 매우 중요합니다. 정확한 경로를 사용하여 파일을 찾고 조작할 수 있으며, 절대 경로와 상대 경로를 올바르게 이해하고 사용하는 것이 필요합니다.