Wie python beschäftigt sich mit Modul und Paket mit dem gleichen Namen?
Angenommen ich habe ein Modul foo.py
und ein Paket foo/
. Wenn ich den Anruf
import foo
denen man geladen wird? Wie kann ich angeben, ich Zauberstab um ein Modul zu laden, oder das Paket?
- pythons import-system ist ein völliger und andauernder Travestie.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich glaube, das Paket wird immer geladen. Sie können nicht umgehen, soweit ich weiß. So ändern Sie entweder das Paket oder den Namen des Moduls. Docs: http://docs.python.org/tutorial/modules.html#the-module-search-path
Eigentlich ist es möglich (dieser code ist nicht getestet, aber scheint zu funktionieren).
Datei
foo.py
Datei
foo/__init__.py
Datei
test1.py
Datei
test2.py
Läuft
Vielleicht möchten Sie bewegen Sie Ihre Klassen aus
foo.py
Modul__init__.py
.Diese Weise werden Sie in der Lage sein, um Sie zu importieren aus dem Paket importieren optional Unterpakete:
Datei
foo/__init__.py
:Datei
mymodule.py
:Dennoch möchte ich jemanden, um zu überprüfen, dieser Ansatz, und lassen Sie mich wissen, ob es die richtige oder die
__init__
Modul nicht verwendet werden sollte, wie die.