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

파이썬에서 모듈을 사용할 때, 모듈 파일의 경로를 지정해야 할 때가 있습니다. 이때 상대 경로와 절대 경로를 사용할 수 있습니다. 이 글에서는 파이썬에서 모듈을 임포트하는 데 사용되는 상대 경로와 절대 경로에 대해 알아보겠습니다.

상대 경로

상대 경로는 현재 작업 디렉토리를 기준으로 경로를 지정하는 방법입니다. 파이썬에서는 상대 경로를 사용하여 모듈을 임포트할 수 있습니다. 상대 경로는 다음과 같은 형식을 가집니다:

from .모듈명 import 클래스명

예를 들어, 현재 작업 디렉토리에 있는 main.py라는 파일에서 math_utils.py라는 모듈을 임포트하려면 다음과 같이 상대 경로를 사용할 수 있습니다:

from .math_utils import calculate_sum

math_utils.py 파일이 현재 작업 디렉토리의 하위 디렉토리 utils에 있다면, 다음과 같이 상대 경로를 사용할 수 있습니다:

from .utils.math_utils import calculate_sum

절대 경로

절대 경로는 파일 시스템 전체 경로를 사용하여 모듈을 임포트하는 방법입니다. 절대 경로는 sys.path에 정의된 경로를 기준으로 지정됩니다. 파이썬에서는 절대 경로를 사용하여 모듈을 임포트할 수 있습니다. 절대 경로는 다음과 같은 형식을 가집니다:

import 모듈명

예를 들어, 현재 작업 디렉토리에 있는 main.py라는 파일에서 math_utils.py라는 모듈을 절대 경로로 임포트하려면 다음과 같이 할 수 있습니다:

import math_utils

math_utils.py 파일이 sys.path에 정의된 경로에 있다면, 다음과 같이 절대 경로를 사용할 수 있습니다:

import utils.math_utils

사용 사례

만약 여러 개의 파이썬 파일들이 있는 프로젝트를 다룰 때, 상대 경로와 절대 경로를 올바르게 사용하는 것이 중요합니다.

상대 경로는 현재 작업 디렉토리 기준으로 모듈을 임포트하기 때문에 프로젝트의 구조를 변경하더라도 상대 경로를 변경하지 않아도 됩니다. 반면에 절대 경로는 sys.path에 정의된 경로를 기준으로 모듈을 임포트하므로, 프로젝트 구조가 변경되면 절대 경로도 변경해야 합니다.

이러한 이유로 상대 경로를 사용하여 모듈을 임포트하는 것이 일반적으로 더 유연하고 유지 관리하기 쉬운 방법입니다.

파이썬에서 모듈의 상대 경로와 절대 경로를 올바르게 사용하는 것은 효율적인 개발과 유지 관리에 도움이 됩니다. 프로젝트의 구조와 요구 사항에 따라 적절한 방식을 선택해야 합니다.