Modul von unterverzeichnis importieren

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Felix Eckert
User
Beiträge: 31
Registriert: Samstag 10. Juni 2017, 10:53

Hallo,
ich habe neuerdings ein problem vom importieren von modulen in einen Unterverzeichnis. Ich weiß wie ich dies mache, allerdings hab ich das problem wenn ich ein von Einem Modul das in einen Unterverzeichnis liegt ein Modul das in einen weiteren Unter verzeichnis liegt zu importieren.
Hier ist die struktur:

Code: Alles auswählen

.
|- main.py 
 |_Modul
      |- __init__.py
      |_ CMD (Das andere modul)
             |- __init__.py
             |- cmd_foo.py
Ich habe so ein Problem schonmal gehabt, hatte dort aber nur das __init__.py im Unterverzeichnis und konnte deswegen einfach

Code: Alles auswählen

from . import CMD
machen. Aber nun habe ich dort mehrere Dateien und kann nur das __init__.py importieren. Das heist ich kann weder mit

Code: Alles auswählen

from . import CMD.cmd_foo
noch mit

Code: Alles auswählen

 from . import CMD
 CMD.cmd_foo
darauf zugreifen.

Schonmal Danke im Voraus
__deets__
User
Beiträge: 14543
Registriert: Mittwoch 14. Oktober 2015, 14:29

Auf der rechten Seite dürfen auch nur Namen stehen. Keine Module oder Pakete. Es muss also

from CMD.cmd_foo import etwas

heißen.

Alternativ kannst du

import .CMD.cmd_foo as foobar

machen. Statt foobar besser cmd_foo, aber es ist wichtig zu verstehen, dass das ein beliebiger alias ist.
Sirius3
User
Beiträge: 17754
Registriert: Sonntag 21. Oktober 2012, 17:20

Es muß

Code: Alles auswählen

from .CMD import cmd_foo
heißen.
__deets__
User
Beiträge: 14543
Registriert: Mittwoch 14. Oktober 2015, 14:29

Ich sollte sowas nicht aus dem Gedächtnis erzählen.....
Felix Eckert
User
Beiträge: 31
Registriert: Samstag 10. Juni 2017, 10:53

Dankesehr , funktioniert alles! :)
Antworten