知道filename:line_no在哪里导入了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??

将其放在顶层模块代码中:

import traceback
last_frame = traceback.extract_stack()[-2]
print 'Module imported from file:line_no = %s:%i' % last_frame[:2]

你也可以用inspect代替traceback:

import inspect
last_frame = inspect.stack()[1]
print 'Module imported from file:line_no = %s:%i' % last_frame[1:3]

最新更新