Python:哪个导入模块在运行时调用我的函数

时间:2014-12-12 00:07:34

标签: python module runtime

我不知道是否有办法获取我想要的信息,所以也许没有。 无论如何,这是我的问题:

我有一个模块,比如“m.py”,带有一个函数,比如“def f():...”

现在想象一些其他模块正在导入m.py

在f中,我想知道在运行时哪个模块正在调用我。

可能吗?

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

import sys,inspect,os
_logLevel = 10
def debugPrint(*args,**kwargs):
    if _logLevel > kwargs.get('required_level',0):
        args = list(args)
        info = inspect.stack()[1]
        info = tuple([os.path.basename(info[1]),info[2]])
        args.insert(0,"%s %s:"%info)
        sys.stdout.write(" ".join("%s"%arg for arg in args))

debugPrint("Hello world!")

是我喜欢使用的方法,可以帮助你