我想知道是否可以从该模块的类实例获取模块名称和目录路径。 我需要这个,因为我用pickle保存了一个类实例,当我从另一个软件(在同一台计算机上)加载它时,我需要知道这个类的来源。
所以我尝试了@albar的aswer
>>> from Models import Model_physio_moyen
>>> b = Model_physio_moyen.pop_Sigmoid_outside_noise
>>> module_name = sys.modules[b.__module__].__name__
>>> module_name
'Models.Model_physio_moyen'
除非使用jitclass
numba
编译了该类,否则该工作正常工作:
>>> from Models.Pops_Stim import ATN
>>> a = ATN.pop_ATN()
>>> module_name = sys.modules[a.__module__].__name__
>>> module_name
'numba.jitclass.boxing'
在这种情况下,我希望我能找到Models.Pops_Stim
,但我得到的是#numba.jitclass.boxing'而是。
答案 0 :(得分:1)
假设您的实例名为a
:
import sys
module_name = sys.modules[a.__module__].__name__
module_file = sys.modules[a.__module__].__file__