Python inspect.getmembers не возвращает фактическую функцию при использовании с декораторами

У меня есть три функции python:

def decorator_function(func)
  def wrapper(..)
    return func(*args, **kwargs)
  return wrapper

def plain_func(...)

@decorator_func
def wrapped_func(....)

внутри модуля A.

Теперь я хочу получить все функции внутри этого модуля A, для чего я и делаю :

for fname, func in inspect.getmembers(A, inspect.isfunction):
  # My code

Проблема в том, что значение func не то, что я хочу.

Это будет decorator_function, plain_func и wrapper (вместо wrapped_func).

Как я могу убедиться, что wrapped_func возвращается вместо оболочки?

5
задан unutbu 10 February 2012 в 03:00
поделиться