Aquí hay una decorador que observará toda su función, usando colorama, para obtener un buen resultado.
Proveedores: importación coloramac excepto ImportError: clase StdClass: pasar transeúnte def (* args, ** kwargs): Paso Colorama = StdClass() colorama.init = transeúnte colorama.Fore = StdClass () colorama.Fore.RED = colorama.Fore.GREEN = ''
def check_for_use(show=False):
if show:
try:
check_for_use.functions
except AttributeError:
return
no_error = True
for function in check_for_use.functions.keys():
if check_for_use.functions[function][0] is False:
print(colorama.Fore.RED + 'The function {!r} hasn\'t been called. Defined in "{}" '.format(function, check_for_use.functions[function][1].__code__.co_filename))
no_error = False
if no_error:
print(colorama.Fore.GREEN + 'Great! All your checked function are being called!')
return check_for_use.functions
try:
check_for_use.functions
except AttributeError:
check_for_use.functions = {}
if colorama:
colorama.init(autoreset=True)
def add(function):
check_for_use.functions[function.__name__] = [False, function]
def func(*args, **kwargs):
check_for_use.functions[function.__name__] = [True, function]
function(*args, **kwargs)
return func
return add
@check_for_use()
def hello():
print('Hello world!')
@check_for_use()
def bonjour(nb):
print('Bonjour tout le monde!')
# hello(); bonjour(0)
hello()
check_for_use(True) # outputs the following
salida:
Hello world!
The function 'bonjour' hasn't been called. Defined in "path_to_file.py"
me escribió una [decorador contando] (http: //code.activestate.com/recipes/577534-counting-decorator/?in=user-4173873) que cuando se aplica te dirá cuántas veces se invocó una función. Puede adaptar esto a su necesidad si lo desea. –
¿Qué esperas hacer con esta información? –