mode1.py 파일 자체가 모듈이다.
# mod1.py
def add(a,b):
return a+b
def sub(a,b):
return a - b
import 모듈 이름
>>> from mod1 import add
>>> from mod1 import add, sub
>>> from mod1 import *
mod1.py 파일은 아래와 같다
# mod1.py
def add(a, b):
return a+b
def sub(a, b):
return a-b
print(add(1,4))
print(sub(1,4))
아래와 같이 실행할 수 있다.
C:\doit>python mod1.py
5
2
하지만 mod1.py 파일안의 함수를 사용하기 위해 mod1 모듈을 import할 때는 모듈이 바로 실행되어 결과값을 출력한다.
C:\Users\pahkey> cd C:doit
C:\doit>python
>>> import mod1
5
2
위와 같은 상황을 방지하기 위해 파일을 다음처럼 변경할 수 있다.
# mod1.py
def add(a, b):
return a+b
def sub(a, b):
return a-b
if __name__ == "__main__"
print(add(1,4))
print(sub(1,4))
이와 같이 수정하면 이 파일을 직접 실행했을 경우에만 결과값이 나온다.
모듈을 저장한 디렉터리로 이동하지 않고 모듈을 불러와서 사용하는 방법
sys.path.append(모듈을 저장한 디렉터리) 사용하기
>>>sys.path
['', 'C:\\Windows\\SYSTEM32\\python37.zip', 'c:\\Python37\\DLLs', 'c:\\Python37\\lib', 'c:\\Python37', 'c:\\Python37\\lib\\site-packages']
sys.path에 디렉터리를 추가해 사용할 수 있다.
PYTHONPATH 환경 변수 사용하기
set 명령어를 사용해 PYTHONPATH 환경 변수에 모듈이 있는 디렉터리를 설정하면 디렉터리 이동 없이 해당 모듈을 사용할 수 있다.
C:\doit>set PYTHONPATH=C:\doit\mymod
C:\doit>python
>>> import mod2
>>> print(mod2.add(3,4))
7