Получение имени функции от вложенного декоратора - PullRequest
0 голосов
/ 15 мая 2018

Я пытаюсь получить правильное имя функции при использовании 2 декораторов.

1> профиль - from memory_profiler import profile

2> пользовательский таймер декоратор

def timing(f):
    @wraps(f)
    def wrapper(*args, **kwargs):
        start = time()
        result = f(*args, **kwargs)
        end = time()
        print 'Elapsed time: {} - {}'.format(wrapper.__name__, end - start)
        return result

    return wrapper 

Они используются в следующем порядке, как определено ниже

@timing
@profile
def my_function():
    something.....

Проблема в том, что обе функции работают хорошо по отдельности, но при совместном использовании я не получаю правильное имя через декоратор синхронизации. Я всегда получаю wrapper вместо фактического имени функции.

Как получить фактическое имя функции вместо того, чтобы получать "обертку" в качестве имени функции?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...