python-import-Modul aus einem Paket

Ordner-Struktur:

<current dir>
   main.py
   packages <dir>
      __init__.py
      mod.py

main py:

import packages
print packages.mod.hello()

mod.py:

def hello():
    return 'hello'

__init__.py:

from packages import mod

Wenn ich main.py bekomme ich keine Fehler. Aber wenn ich Bearbeiten __init__.py zu 'from packages import *' , bekomme ich diesen Fehler: AttributeError: 'module' Objekt hat kein Attribut 'mod'

Ich bin nicht zu Fragen, wie zu machen, dass 'print' - Befehl funktioniert. Ich kann die Verwendung anderer 'import' syntax in main.py machen, damit es funktioniert. Die Frage ist: ich bin neugierig, dass 'from packages import mod' im __init__.py. Wenn ich das tun kann import mod wenn ich dann auf ersetzen, um import *, was bedeutet, importieren Sie alles, warum bekomme ich eine Fehlermeldung statt?

Also, was bedeutet das from packages import * wirklich bedeutet im inneren, dass __init__.py?

Wer kann helfen? Dank

InformationsquelleAutor andio | 2016-04-09
Schreibe einen Kommentar