【发布时间】:2016-01-14 17:23:55
【问题描述】:
出于我的日志记录目的,我想记录我的代码所在的所有函数名称
不管是谁在调用这个函数,我想要我声明这一行的函数名
import inspect
def whoami():
return inspect.stack()[1][3]
def foo():
print(whoami())
目前它打印foo,我想打印whoami
【问题讨论】:
-
你想调用并执行函数,还是只调用名称?因为你现在做的是后者,最后一行
whoami后面没有括号。 -
"当前它打印
foo":您当前的示例代码什么也不打印,或者至少它不会打印foo。请编辑它并提供一个有效的例子。 -
inspect.stack()[0][3] ?
-
您可能打算这样做:
print(whoami())。此外,@hero 是正确的,您应该访问inspect.stack()[0][3]以获取名称