sys.modules를 출력해보면 확인할 수 있다.
'sys':<module 'sys'(built-in)> < 이와 같이 dictionary형태로 sys가 저장되어있다.
Absolute path :
Relative path :
- main.py에서 상대경로로 add_and_mutiply 를 임포트 했을 때 발생하는 에러
이 문제를 해결하기 위해 파이썬 공식 문서에 있는 부분을 확인하면, "메인 모듈의 이름은 항상 "main"이기 때문에, 파이썬 어플리케이션의 메인 모듈로 사용하려는 모듈은 항상 absolute imports를 사용해야한다." 라는 정보를 확인할 수 있다.
from calculator.multiplication import multiply
def add_and_multiply(a,b):
return multiply(a,b) + (a+b)
>>> python main.py
5
from .multiplication import multiply
def add_and_multiply(a,b):
return multiply(a,b) + (a+b)
>>> python main.py
5
add_and_multiply.py는 calculator 패키지에 있는 모듈이기 때문에 절대경로와 상대경로 모두 원하는 값이 main.py에서 출력될 수 있다.