2016-09-14 2 views
1

모듈을 만들었습니다.이 모듈은 __init__.py이라는 고유 한 폴더에 있고 내 클래스를 포함하는 네 개의 파일로 구성되어 있습니다.Python 2.7에서 내 모듈을 가져올 때 일관되지 않은 동작이 발생했습니다.

from MyPackage import *을 수행 할 때 예상대로 예상대로 에 __all__ 문에 입력 한 모듈이 표시됩니다.

from MyPackage import ModuleX 모듈을 개별적으로 가져올 수 있습니다.

import MyPackage을하고 다음 그러나 dir(MyPackage) 말, 내가 할 모든이있다 :

['__all__', 
'__builtins__', 
'__doc__', 
'__file__', 
'__name__', 
'__package__', 
'__path__'] 

내 모듈이 표시되지 않고 나도 MyPackage.ModuleX를 사용하여 액세스 할 수 없습니다.

__init__.py에 작성한 유일한 내용은 __all__ = [ModuleX] 문입니다.

왜 마지막 문장에 내 모듈이 보이지 않습니까? 좀 더 설정을해야합니까?

답변

1

__all__은 해당 모듈에서 으로 내 보낸이라는 이름을 결정합니다. 그러나 그들을 내보내려면 먼저 가져 오지 않아도됩니다.

+0

그래서 패키지의 모든 모듈을 'import' MyPackage 명령과 함께'__init __. py' 파일로 가져와야 만'from' 키워드로 쉽게 가져올 수 있습니다. – Khris

관련 문제