ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [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 *를 사용하지 않는 것이 좋습니다.

    댓글