PEP 302定义了一种用户代码挂钩到导入过程并拦截导入的方法。
但是,这仅适用于在运行某些代码以注册导入挂钩之后发生的导入。
几乎按定义,没有代码在__main__
模块之前运行,该模块是最初运行的脚本。我没有运气试图获取我的导入钩子(它做了一些有用的事情)来拦截为__main__
模块加载的代码。
有什么方法可以让我失踪,或者我只是运气不好?我可以接受让我的导入钩子不在__main__
模块上执行它们的转换,但如果他们这样做会很好。
答案 0 :(得分:0)
您是否尝试过像这样导入main?
if __name__ == '__main__':
import foo
# Rest of code here