グローバルトグル変数を作成して、decorator
をオン/オフするコマンドラインで渡された引数に応じて変更したいと考えています。デコレータの使用方法をグローバルに切り替える
以下のケースでは、必要でないときに@time_md5_comparison
をコメントアウトする代わりに、渡された引数に応じてグローバルトグルが必要です。
main.py
from timing_decorator import time_md5_comparison
@time_md5_comparison
def md5_comparison(a, b):
if a==b:
return True
else:
return False
timing_decorator.py
def time_md5_comparison(function):
@wraps(function)
def wrapper(*args, **kwargs):
t1 = time.time()
result = function(*args, **kwargs)
t2 = time.time()
print(str(function.__name__)+" "+ str("%.6f " %(t2 - t1)))
return result
return wrapper
は、私が言って、変数を作成することができますUSE_DECORATORでmain.pyで=真その場合、デコレータが呼び出されます。 USE_DECORATOR = Falseの場合、元の関数が呼び出されます。
質問は何ですか? – dav1d
メインに変数USE_DECORATOR = Trueを作成できますか?py この場合、デコレータが呼び出されます。 USE_DECORATOR = Falseの場合、元の関数が呼び出されます。 – pmsuresh
この答えを参照してください - http://stackoverflow.com/a/28654546/4497519コマンドラインから引数を使用して切り替えることは自明です。 –