2017-06-20 1 views
0

I-Modul am Import Y.py in X.py und es gibt eine Funktion my_func() in Modul Z.py, die ich in Y.py importieren bin, wie ich das drucken kann Weg der Y.py in my_func() während der Ausführung ohne X.py XDateipfad eines importierten zweiten Moduls in einer Funktion erhalten, die in der 3. Modul ist, während der erste Modul Ausführung

# this is module X 

import Y 

#some code 

Modul Y beliebigen Parameter my_func()

Modul vorbei

# this is module Y 

from Z import * 
my_func() 

#some code 

Modul Z

# this is module Z 

def my_func() 
    print("the path of Y module is: ") # here I want to print the path of Y.py 

# do something with the path of Y.py 

Wenn ich X.py ausführen soll es den Weg der Y.py drucken, ich os.getcwd() versucht mit, aber seine mir den Weg des X.py geben nicht den Weg der Y.py

+2

Warum denken Sie, das wichtig ist? –

+0

Sie können mit 'inspect' feststellen, wer Sie importiert hat. Warum brauchst du das noch? –

+1

Du hast gerade meine Neuronen in einen Haufen gewickelt, oh Junge, das war verwirrend –

Antwort

2

Sie verwenden das __file__ Attribut des Modulobjekt:

import Y 

def my_func(): 
    path = Y.__file__ 
Verwandte Themen