한국어
파이썬
 

같은 경로에 있는 모듈이라면 보통 다음과 같이 import 를 할 수 있다.

from test import *

 

하지만 아래의 구조처럼 다른 경로에 있는 모듈을 import하려면 어떻게 해야 할까?

 

sound/                          Top-level package
      __init__.py               Initialize the sound package
      formats/                  Subpackage for file format conversions
              __init__.py
              wavread.py
              wavwrite.py
              aiffread.py
              aiffwrite.py
              auread.py
              auwrite.py
              ...
      effects/                  Subpackage for sound effects
              __init__.py
              echo.py
              surround.py
              reverse.py
              ...
      filters/                  Subpackage for filters
              __init__.py
              equalizer.py
              vocoder.py
              karaoke.py
              ...

 

__init__.py 파일은 파이썬 패키지를 포함하는 것으로 디렉토리를 다루기위해 필요하다.

 __init__.py파일은 단지 빈 파일 이 될 수 있지만,  패키지에 대 한 초기화 코드를 실행 하거나 __all__ 변수를 설정할 수도 있다.

 

패키지의 사용자들은 패키지에서 개별 모듈을 가져올 수 있다. 예를 들면 다음과 같다.

import sound.effects.echo

 

서브 모듈을 import하는 다른 방법으로:

from sound.effects import echo

 

또 다른 경우는 직접 원하는 함수 나 변수 를 가져 오는 것이다 :

from sound.effects.echo import echofilter

 

참조 : https://docs.python.org/2/tutorial/modules.html