Пожарский
Спортивный интерес; можно ли и как?
Странный интерес… Но чего не сделаешь ради спорта!..
Это - import hook
#imphook.py
import sys
import traceback as tb
import __builtin__
stnd_import = __builtin__.__import__
def my_import(*args, **kwargs):
code = sys._getframe(1).f_code
print code.co_name, code.co_filename, ‘:’, code.co_firstlineno
return stnd_import(*args, **kwargs)
def f():
tb.print_stack()
__builtin__.__import__ = my_import
Это - то что импортим
#samplemod.py
'''Some module'''
А здесть инсталируем hook и импортируем модуль samplemod
#main.py
import imphook
def f():
import samplemod
f()
Запусти main.py, увидишь на экране:
f c:\temp\main.py : 4
Организовать callback куда-нибудь - не проблема