2017-11-04 2 views
1

Ich habe eine folgende Verzeichnisstruktur:Fehler beim Importieren von Python-Modul aus Ordnern

source 
     source_1.py 
     __init__.py 

source1.py hat Klasse Quelle definiert

source1.py 

class Source(object): 
    pass 

ich in der Lage bin diesen

>>> from source.source1 import Source 
>>> Source 
<class 'source.source1.Source'> 
zu importieren mit

Wenn jedoch versucht wird, mit der folgenden Methode zu importieren, schlägt es fehl.

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

Bitte lassen Sie mich wissen, wie können wir den zweiten Import verwenden?

Antwort

0

Für den Import von einem Paket (im Gegensatz zum Importieren von einem Modul) müssen Sie angeben, was * bedeutet. Um das zu tun, in __init__.py eine Zeile wie diese hinzu:

__all__ = ["source1"] 

finden Sie in der Python-Dokumentation für Importing * From a Package.

Verwandte Themen