2009-06-06 37 views
12

我在哪里可以找到PEP 302中描述的“新导入钩子”的示例实现?PEP 302示例:新导入钩子

我想用最向前兼容的方式实现自定义查找器和加载器。换句话说,该实现应该可以在Python 2.x和3.x中运行。

回答

4

您可以找到数千个开源示例,用google code search,那就是:

http://www.google.com/codesearch?hl=en&lr=&q="imp.find_module"+"imp.load_module"&sbtn=Search 

编辑:作为提问澄清他要寻找的示例实现的,不能用,为寻求更好的URL是:

http://www.google.com/codesearch?hl=en&sa=N&q="path_hooks"++lang:python&ct=rr&cs_r=lang:python 

一个可读的例子(尽管不适合于生产使用,因为reddit讨论指出!)是urlimport。对于同时支持Python 2和Python 3,这听起来雄心勃勃 - 我不知道任何现有的声称的导入钩子。在你的鞋子里,我将开始提供对Python 2.6的全面支持,然后一旦这个工作正常(并且有一个很好的测试电池,并且使用-3开关来窥视),我会输入2to3来源并查看是否有任何事件(如果是这样,找出原因,修复2.6源代码,迭代)。

+0

这是好东西,但我没有找到一个使用imp.load_module的例子。我想实现一个自定义查找器和加载器。 – brad 2009-06-07 00:04:52