1

PEP 302定义了一种用户代码挂钩到导入过程并拦截导入的方法。

但是,这仅适用于在运行某些代码以注册导入挂钩之后发生的导入。

几乎按照定义,在模块之前没有代码运行,__main__模块是最初运行的脚本。我没有任何运气试图让我的导入钩子(它做一些有用的事情)来拦截为__main__模块加载的代码。

有没有我想念的前进方向,或者我只是运气不好?我可以接受让我的导入钩子不在__main__模块上执行它们的转换,但如果他们这样做会很好。

4

1 回答 1

0

您是否尝试过像这样在 main 中导入?

if __name__ == '__main__':
    import foo
    # Rest of code here
于 2013-05-13T07:30:40.440 回答