ich ein Modul mymod
haben dieWrap alle Funktionen in einem Modul in einem Wrapper
def myfun1 (a,b,c):
...
return d
ich alle diese Funktionen so verfolgen möchten ein Dutzend Funktionen mit derselben Signatur definiert:
def traced (f):
def wrapped (a,b,c):
print ">>>%s(%d)" % (f.__name__, (a+b)/c)
d = f(a,b,c)
print "<<<%s(%g)" % (f.__name__, 1/d)
return d
return wrap
@traced
def myfun1 (a,b,c):
...
return d
(Hier (a+b)/c
und 1/d
sind Stellvertreter für kompliziertere Sachen).
Gibt es eine elegantere Möglichkeit, dies zu erreichen - abgesehen von @traced
vor Funktionsdefinition?
PS. A similar question wurde vor 5 Jahren gefragt. Ich frage mich, ob es neue Antworten gibt.
https://pypi.python.org/pypi/metamodule von Interesse sein könnten. – chepner
http://stackoverflow.com/questions/39184338/how-can-i-decorate-all-functions-imported-from-a-file dupe? [meine Antwort mindestens] –