探针的实现主要涉及以下两点:
- sys.meta_path:这个简单的来说就是可以实现 import hook 的功能, 当执行 import 相关的操作时,会触发 sys.meta_path 列表中定义的对象。
- sitecustomize.py:简单的说就是,python 解释器初始化的时候会自动 import PYTHONPATH 下存在的 sitecustomize 和 usercustomize 模块。
sys.meta_path可以实现import hook,但是需要设置sys.meta_path才能生效。那么有没有办法在启动 python 解释器的时候自动执行 import hook 的操作呢? 答案就是可以通过定义 sitecustomize.py 的方式来实现这个功能。