[Python]Absolute path와 relative path

Jimin_Note·2022년 5월 26일
0

[Python]

목록 보기
17/34

Absolute path : 절대경로

import를 하는 파일이나 경로에 상관없이 항상 경로가 동일하다

my_app 이라는 프로젝트 는 package1과 package2 라는 2개의 package를 가지고 있다.

package2는 subpackage1 라는 중첩 package를 가지고 있다.

👉Absolute path를 사용해 package1 과 package2를 import해보기

from package1 import module1
from package1.module2 import function1
from package2 import class1
from package2.subpackage1.module5 import function2

경로들의 시작점이 전부 my_app 프로젝트의 가장 최상위 디렉토리에서 시작된다

일반적으로 local package를 import 할때는 absolute path를 사용

absolute path 단점
경로가 길어질 수 있다

👉이러한 단점을 보완하기 위한relative path

absolute path와 다르게 프로젝트의 최상단 디렉토리를 기준으로 경로를 잡는게 아니라 import 하는 위치를 기준으로 경로를 정의. 일반적으로 relative path는 local package 안에서 다른 local package를 import 할때 사용

dot .은 import 가 선언되는 파일의 현재 위치


from . import class1
from .subpackage1.module5 import function2

현재위치는 package2/module3.py 이므로 현재 위치에서부터 원하는 모듈의 경로만 선언해주면 되는 것입니다.

dot 2개 .. 는 현재위치에서 상위 디렉토리로 가는 경로

from ..module4 import class4

Relative path는 선언해야 하는 경로의 길이를 줄여준다는 장점은 있지만 헷갈리기 쉽고 파일 위치가 변경되면 경로 위치도 변경되어야 하는 단점이 있습니다.

그러므로 웬만한 경우 absolute path를 사용하는게 권장 됩니다.

profile
Hello. I'm jimin:)

0개의 댓글