3
def a():
    print __name__

我有没有机会拥有这样的功能,但是如果由另一个模块导入并从那里调用,它会打印“正确”的模块名称吗?

“正确”的模块名称应始终是调用它的名称。

4

1 回答 1

1

sys模块提供了一种特定于 CPython的方式来查找调用者:

sys._getframe(1).f_globals.get('__name__', '__main__')

_getframe() 函数在此处记录,框架对象在此处记录。

于 2013-01-30T06:02:04.753 回答