Wie übergebe ich zusätzliche Argumente an einen Python-Dekorateur?
Ich habe einen Dekorateur wie unten.
<code>def myDecorator(test_func): return callSomeWrapper(test_func) def callSomeWrapper(test_func): return test_func @myDecorator def someFunc(): print 'hello' </code>
Ich möchte diesen Dekorateur verbessern, um ein anderes Argument wie das folgende anzunehmen
<code>def myDecorator(test_func,logIt): if logIt: print "Calling Function: " + test_func.__name__ return callSomeWrapper(test_func) @myDecorator(False) def someFunc(): print 'Hello' </code>
Aber dieser Code gibt den Fehler,
TypeError: myDecorator () benötigt genau 2 Argumente (1 angegeben)
Warum wird die Funktion nicht automatisch übergeben? Wie übergebe ich die Funktion explizit an die Decorator-Funktion?