在Python-3.3之前,我检测到一个模块是由自定义加载器加载的hasattr(mod, '__loader__').在Python-3.3之后,所有模块都具有该__loader__属性,无论是否由自定义加载器加载.
Python-2.7,3.2:
>>> import xml
>>> hasattr(xml, '__loader__')
False
Run Code Online (Sandbox Code Playgroud)
Python的3.3:
>>> import xml
>>> hasattr(xml, '__loader__')
True
>>> xml.__loader__
<_frozen_importlib.SourceFileLoader object at ...>
Run Code Online (Sandbox Code Playgroud)
如何检测自定义加载程序加载模块?