1

我们遇到了一个真正的问题,就是人们签入的代码因为某些东西被重构而无法工作。诚然,这部分是因为我们的开发人员并没有任何好的工具来轻松发现这些错误。

是否有任何工具可以帮助在 Python 中查找 ImportErrors?当然,这里的正确答案是“你应该为此使用单元测试”。但是,我处于遗留代码领域(至少按照 Michael Feathers 的定义),所以我们的单元测试是我们正在大力开展的工作。

同时,如果有某种工具可以遍历每个目录并导入其中的每个文件以查找任何具有 ImportErrors 的脚本(例如,如果文件或类最近被重命名),那将是很好的。我想这不会很难写我自己,但是有没有已经写好的程序来做到这一点?

4

2 回答 2

3

Pychecker 适合你。它导入模块并会发现这些错误。

http://pychecker.sourceforge.net/

哦,“pylint <modulename>”将导入模块,但我想你必须为你想要的每个模块调用一次,其中 pychecker 至少支持 *.py。(Pylint 也支持 *.py 但在这种情况下不会导入模块)。

于 2009-06-27T16:57:43.150 回答
1

像这样的东西?

import os
for x in os.listdir("some/path"):
    execfile( x )

够了吗,还是需要更多?

请注意,任何缺少的模块if __name__ == "__main__":都会——显然——起飞并开始做事。

于 2009-06-27T15:26:22.487 回答