본문 바로가기

코딩/Python

python에서 __init__.py의 용도

__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