Probleme mit scripten im Unterordner

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
MasterJulian
User
Beiträge: 14
Registriert: Sonntag 8. November 2009, 17:46

So ich habe hier ein kleines Problem. Da mein Projekt immer komplexer wird, möchte ich mein Script in mehrere kleine Scripte stecken. Ich packe die Funktionen also passen in jeweils ein Script (eins für IO, eins für Web etc...). Meine Ordnerstruktur sieht so aus:
mainscript.py
--modules (Ordnername)
--__init__.py
--api.py
--web.py
....

So das Problem ist jetzt, wie greife ich in der api.py auf die web.py zu. "form web import *" funktioniert nur, wenn ich die api.py selber ausführe. Sobald ich via "from modules.api import *" die api in meinem mainscript.py importiere und versuche eine funktion aufzurufen bekomme ich einen "NameError: global name 'getcontent' is not defined" Error. Die getcontent Funktion steckt in der web.py. Auch wenn ich die web.py zusätzlich im mainscript importiere, bekomme ich den Fehler. Ist warscheinlich (mal wieder) was banales aber ich komme einfach nicht drauf.
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Ein Grund, dass du keine Sternchen-Importe verwenden willst.
Die genaue Ursache kann ich dir leider nicht verraten, aber ich kann es nur mit Sternchen-Importen nachvollziehen.
Ein `from modules import api` klappt.

Deine Aufteilung erscheint mir jedenfalls nicht sinnvoll. Wenn sich deine Module so genau kennen muessen, dass du alle Objekte brauchst, geht was schief.
MasterJulian
User
Beiträge: 14
Registriert: Sonntag 8. November 2009, 17:46

ja das mit den Sternchen war nur ein Test. Aber mit dem genannten Code klappt das super.
Vielen Dank
Antworten