Python Basic - Modules & Packages

DevSmiler·2020년 2월 3일
0

Python Basic

목록 보기
11/11

Sys.modules & Sys.path의 차이점

sys.modules

import를 했을때 파이썬 모듈이나 package를 찾기 위해 가장 먼저 확인 하는 곳이다.
모듈과 패키지 경로를 저장한 딕셔너리이다.

sys.path

파이썬에서 import를 했을때 가장 마지막으로 검색하는 경로이며, 리스트로 이루어져있다.

sys도 import 해야하는 모듈입니다. 파이썬은 Sys 모듈의 위치를 어떻게 찾을수 있을까요?

sys 파이썬에 설치되어있는 모듈입니다. import 명령을 내릴때 자동으로 import 되는 모듈이기 때문에 따로 임포트를 할 필요가 없습니다. built in 모듈입니다.

>>>import Sys
>>> sys.path
['', '/Users/minkyukim/Documents', 		'/Library/Frameworks/Python.framework/Versions/3.6/lib/python36.zip', 		'/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6', 		'/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/lib-dynload', 		'/Users/minkyukim/Library/Python/3.6/lib/python/site-packages', 		'/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages']

Absolute path 와 Relative Path의 차이점

absolute path

해당 위치의 고유 경로를 말합니다. 최상위 디렉토리에서 시작해서 import를 하고자 하는 경로를 나타냅니다. 장점으로는 정확하지만 어쩌다보면.. 너무 길어지는 단점이 잇을수 있습ㄴ디ㅏ.

relative path

현재 디렉토리를 기준으로 하는 경로를 말합니다. ./로 현재경로를 표시하며 상위 디렉토리로 접급할때는 ../로 표현합니다. 헷갈리기는 쉬우나 익숙해지면 편하고, 무엇보다 글이 짧아진다는 장점이 있습니다. 상대 경로로 뭔가를 임포트를 할때는 사용전에 꼭 테스트를 해보는게 좋습니다. 코드만 주구장창 쓰다가 '얽...이게뭐지' 이런 상황이 .-_-;;

두개 모두의 유의사항

뭔가를 임포트하거나 가지고 올 때, 이름 같은 경우는 복사를 해서 가지고 오는게 좋습니다. 안그러면 임포트를 잘했는데 왜 안될까 이런 상황들이 자주 벌어지게 됩니다.

profile
A ship is always safe at the shore, but that is not what it is built for - Albert Einstein

0개의 댓글