📍sys
파이썬 인터프리터가 제공하는 변수와 함수를 직접 제어할 수 있게 해주는 모듈
# argv_test.py
import sys
print(sys.argv)
강제로 스크립트 종료하기 - sys.exit
sys.exit()
프로그램 파일 안에서 사용하면 프로그램을 중단시킨다.
자신이 만든 모듈 불러와 사용하기 - sys.path
sys.path
파이썬 모듈들이 저장되어 있는 위치를 나타낸다. 즉, 이 위치에 있는 파이썬 모듈은 경로에 상관없이 어디에서나 불러올 수 있다.
import sys
sys.path
['', 'C:\\Windows\\SYSTEM32\\python37.zip', 'c:\\Python37\\DLLs',
'c:\\Python37\\lib', 'c:\\Python37', 'c:\\Python37\\lib\\site-packages']
위에서 ''는 현재 디렉터리를 말한다.
sys.path는 기본적으로 list이며 string 요소들을 가지고 있는 list이다.
# path_append.py
import sys
sys.path.append("C:/doit/mymod")
위와 같이 파이썬 프로그램 파일에서 sys.path.append를 사용해 경로 이름을 추가
이렇게 하고 난 후에는 C:/doit/Mymod 디렉터리에 있는 파이썬 모듈을 불러와서 사용할 수 있다.
※ 파일 경로를 표시할 때 반드시 / 또는 \ 기호를 사용해야 한다.
sys.modules
파이썬이 모듈이나 package를 찾기위해 가장 먼저 확인하는 곳
단순한 dictionary이며 이미 import된 모듈과 package들을 저장하고 있다
즉, 한번 import된 모듈과 package들은 파이썬이 또 다시 찾지 않아도 되도록 하는 기능을 가지고있다.
그러므로 새로 import 하는 모듈은 sys.modules 에서 찾을 수 없다!!
파이썬은 list의 각 경로를 하나 하나 확인하면서 해당 경로에 import 하고자 하는 package가 위치해 있는지 확인합니다.
정리를 하자면, 파이썬은 import 하고자 하는 모듈과 package를 찾을때에 먼저 sys.modules를 보고, 없으면 파이썬 built-in 모듈들을 확인 하고 마지막으로 sys.path에 지정되어 있는 경로들을 확인해서 찾는다.