2
Это то, что мне нужно:Как получить, кто вызвал функцию или метод?
def get_invoker():
# your magic here
# invoker.py
def f():
invoker = get_invoker()
print(invoker)
# module1.py
class C(object):
def invoke_f(self):
f()
f()
# print <module1>
c = C()
c.invoke_f()
# print C.invoke_f
Возможно ли это? Я знаю, что у modlue inspect
есть все это волшебство, но я не смог его найти.
EDIT:
Я хотел бы получить объект функции (или модуль). Не только имя.
В последнем примере выход не должен быть 'invoke_f'? –
Да! Спасибо @xndrme. – santiagobasulto