Seite 1 von 1

Modulname und -pfad ermitteln

Verfasst: Donnerstag 21. Juni 2007, 10:54
von HarryH
Hallo,

Ich stehe vor folgendem Problem:
Ich rufe mit 'import ...' aus einem Modul (Modul 1) ein anderes Modul (Modul 2) auf.
Nun möchte ich im Modul 2 den Pfad und Namen des Modul 1 ermittelten.
Geht das? Wie geht das?

Kann ich in Modul 2 auch die locals() und globals() von Modul 1 abfragen?

Verfasst: Donnerstag 21. Juni 2007, 11:13
von Y0Gi
Da Modul 1 in Modul 2 nicht bekannt ist, wird das wohl so herum nicht funktionieren (warum solltest du das tun wollen?). Umgekehrt kannst du aber in Modul 2 auf ``modul2.__file__`` zugreifen, um dessen Pfad zu erhalten.

Verfasst: Donnerstag 21. Juni 2007, 11:21
von HarryH
Hallo Yogi,

Ich denke mir, wenn Modul 2 von Modul 1 aufgerufen wird, muß doch irgendwie herauszufinden sein, von welchem Modul aus Modul 2 aufgerufen wurde.

Re: Modulname und -pfad ermitteln

Verfasst: Donnerstag 21. Juni 2007, 11:23
von gerold
HarryH hat geschrieben:Nun möchte ich im Modul 2 den Pfad und Namen des Modul 1 ermittelten.
Hallo HarryH!

Nein, das geht nicht, aber du kannst den Namen des gestarteten Programms ermitteln -- also das Hauptmodul.

Code: Alles auswählen

sys.argv[0]
Wenn du mehr brauchst, dann übergebe die Daten beim Aufruf der Funktion.

Edit:

Vielleicht lässt sich das aufrufende Modul über "inspect" raus finden. Aber der Preis wäre mir auf jeden Fall zu hoch.

mfg
Gerold
:-)