Kreuzweise Imports irgendwie möglich?
Verfasst: Sonntag 6. Januar 2008, 12:45
Ich habe Quelltext, der so ungeschickt in Dateien (also damit Module) aufgeteilt ist, dass sich Funktionen daraus gegenseitig benötigen, etwa so:
Ich hatte versucht, dass durch ein drittes Modul zu korrigieren:
Doch leider geht das nicht, da g.__dict__ beim Importieren in module1 noch nichts enthält, insbesondere nicht das, was ich mir aus module2 zu importieren erhoffe.
Kann ich die Situation irgendwie trickreich retten, ohne alle Funktionsnamen zu ändern (was ich nicht nur hässlich fände, sondern auch echte Arbeit wäre, da es nicht nur zwei Module sondern ein Dutzend mit einigen Tausend Zeilen Code sind) und mit einem expliziten Modul-Präfix zu versehen?
Stefan
Code: Alles auswählen
# module1.py
def foo():
...bar()...
# module2.py
def bar():
...foo()...
Code: Alles auswählen
# g.py
from module1 import *
from module2 import *
# module1.py
from g import *
...
# module2.py
from g import *
...
Kann ich die Situation irgendwie trickreich retten, ohne alle Funktionsnamen zu ändern (was ich nicht nur hässlich fände, sondern auch echte Arbeit wäre, da es nicht nur zwei Module sondern ein Dutzend mit einigen Tausend Zeilen Code sind) und mit einem expliziten Modul-Präfix zu versehen?
Stefan