-
[Python] 패키지언어/파이썬 & 장고 2016. 10. 7. 11:52
평범한 디렉토리가 파이썬 패키지로 인정받으려면 __init__.py 파일이 해당 경로에 존재해야 합니다.
__init__.py
보통 __init__.py 파일은 비워져 있는 것이 보통입니다. 해당 파일에 손대는 경우는 __all__이라는 변수를 조정할 때 정도입니다. __all__은 다음과 같은 코드를 실행할 때 패키지로부터 반입할 모듈의 목록을 정의하기 위해 사용됩니다.
from 패키지 import *
다음은 테스트할 파일 경로입니다.
main.py
folder\
---- __init__.py
---- temp1.py
---- temp2.py
---- temp3.py
# temp1.py, temp2.py, temp3.py def test(): print('module name: {0}'.format(__name__))
__init__.py을 아래와 같이 작성합니다.
__all__ = ['temp1', 'temp2']
다음 main.py을 작성합니다.
from folder import * temp1.test() temp2.test()
__init__.py에서 __all__에 temp1, temp2만 정의했으므로 main.py에서 from folder import *를 해도 temp3은 추가되지 않습니다. import *를 사용하는 경우 __all__ 변수를 확인하기 전까진 어떤모듈이 반입되는지 알 수 없으므로 import *를 사용하지 않는 것이 좋습니다.