开发者

know filename:line_no where an import to my_module was made

开发者 https://www.devze.com 2023-02-22 23:34 出处:网络
I have a module my_module that it is sourced (imported) by lots of files using: from my_module import *

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

精彩评论

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