Только что это всплыло после обновления до Xcode 10.2 ... один из моих модулей использует Swift. Исправлено было:
pod repo update
rm -rf Pods
pod install
Вы можете использовать модуль inspect , чтобы получить нужную информацию. Его метод stack возвращает список записей кадра.
Для Python 2 каждая запись кадра является списком. Третий элемент в каждой записи - имя вызывающего абонента. Вам нужно следующее:
>>> import inspect
>>> def f ():
... напечатать inspect.stack () [1] [3]
...
>>> def g ():
... f ()
...
>>> g ()
грамм
Для Python 3.5+ каждая запись кадра представляет собой именованный кортеж , поэтому вам необходимо заменить
print inspect.stack () [1] [3]
с
печатью (inspect.stack () [1] .function)
в приведенном выше коде.
Примечание (июнь 2018 г.): сегодня я, вероятно, использовал бы inspect
, см. Другие ответы
sys._getframe (1) .f_code.co_name
, как в примере ниже:
>>> def foo():
... global x
... x = sys._getframe(1)
...
>>> def y(): foo()
...
>>> y()
>>> x.f_code.co_name
'y'
>>>
Важное примечание: как видно из имени метода _getframe
( эй, он начинается с подчеркивания), это не метод API, на который следует бездумно полагаться.