开发者

know filename:line_no where an import to my_module was made

I have a module my_module that it is sourced (imported) by lots of files using:

from my_module import *

Being inside the module, can I know which file imported this module ?

I would like to know the filename:line_no which made this import.

so code I require is:

my_module.py

print "This module is currently imported from: file:line_no = %s:%s" % what_in_here开发者_运维知识库??


Place this in your top-level module code:

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

You can also use inspect instead of traceback:

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

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜