__init__.py 파일은 해당 디렉터리가 패키지의 일부임을 알려주는 역할을 한다.
만약 어떠한 패키지에 포함된 디렉터리(폴더)에 __init__.py 파일이 없다면 패키지로 인식되지 않는다.
이러한 에러가 나왔을때는 어떠한 파일(필자는 echo였음)을 찾지 못하는 것인데.
>>>from 패키지명.파일명. import *
>>> 함수()
를 불러오면 저러한 에러가 뜬다.
어떠한 함수 이름이 정의되지가 않은 것이다.
특정 디렉터리의 모듈을 *를 사용하여 import 할때는 __init__.py 파일에 __all__변수를 설정하고 import할 수 있는 모듈을 정의해 주어야 한다.
여기서 __all__이란?
-> 상위 디렉터리에서 *를 사용하여 import 했을 경우 __init__.py파일에서 echo모듈만 import한다는 의미이다.
그 후 함수를 불러오면 제대로 출력이 가능하다.
'코딩 > Python' 카테고리의 다른 글
파이썬 pickle 모듈 (0) | 2020.07.09 |
---|---|
파이썬 내장 함수 모음(python function) (0) | 2020.07.08 |
파이썬 튜플 한개만 추가 할때 (0) | 2020.07.04 |
파이썬 함수 (0) | 2020.07.03 |
파이썬 문자열 포매팅 (2) | 2020.06.29 |