标签: python file module import
我有一个模块my_module,它使用以下文件来源(导入)许多文件:
my_module
from my_module import *
在模块内部,我可以知道导入此模块的文件是什么吗? 我想知道文件名:line_no导致了这个导入。
所以我需要的代码是:
my_module.py
print "This module is currently imported from: file:line_no = %s:%s" % what_in_here??
答案 0 :(得分:5)
将其放在顶级模块代码中:
import traceback last_frame = traceback.extract_stack()[-2] print 'Module imported from file:line_no = %s:%i' % last_frame[:2]
您也可以使用inspect代替traceback:
inspect
traceback
import inspect last_frame = inspect.stack()[1] print 'Module imported from file:line_no = %s:%i' % last_frame[1:3]