Angenommen myapp/foo.py
enthält:Get __name__ von in Python-Funktion des Moduls Aufruf
def info(msg):
caller_name = ????
print '[%s] %s' % (caller_name, msg)
Und myapp/bar.py
enthält:
import foo
foo.info('Hello') # => [myapp.bar] Hello
Ich möchte caller_name
zum __name__
Attribut des anrufenden Funktionen Modul eingestellt werden (Das ist 'myapp.foo') in diesem Fall. Wie kann das gemacht werden?
Angenommen, ein anderes Einstiegspunktskript ruft bar.py .. auf und somit kann 'caller_name' nicht' __main__' sein. –
Sind Sie sicher, dass Ihr Beispielcode korrekt ist? Sollte der Körper von myapp/bar.py nicht sein: import foo; foo.info ('Hallo') # => [myapp.bar] Hallo –
Richtig, ich habe den Code repariert. –