2017-11-04 7 views
1

에서 파이썬 모듈을 가져올 때 후속 디렉토리 구조를 가지고 :오류 폴더

source 
     source_1.py 
     __init__.py 

source1.py 정의 클래스의 소스를 가지고

나는이

>>> from source.source1 import Source 
>>> Source 
<class 'source.source1.Source'> 
를 사용하여 가져올 수 있어요
source1.py 

class Source(object): 
    pass 

그러나 아래 방법을 사용하여 가져 오기를 시도하면 실패합니다.

>>> from source import * 
>>> source1.Source 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
NameError: name 'source1' is not defined 

두 번째 가져 오기는 어떻게 사용할 수 있습니까?

답변

0

패키지에서 가져 오기 (모듈에서 가져 오기와 달리)는 *의 의미를 지정해야합니다. __init__.py에 다음과 같은 라인을 추가, 그렇게하려면

__all__ = ["source1"] 

Importing * From a Package에 대한 파이썬 문서를 참조하십시오.