使用python doctest时出错

1 投票
2 回答
2948 浏览
提问于 2025-04-15 14:12

我试着使用来自 http://docs.python.org/library/doctest.html 的示例中的 doctest。

但是当我运行

python example.py -v

时,出现了这个

Traceback (most recent call last):
  File "example.py", line 61, in <module>
    doctest.testmod()
AttributeError: 'module' object has no attribute 'testmod'

不过我可以在 Python 的交互式环境中导入 doctest,并且可以使用 doctest.testmod()。我在谷歌上搜索了,但没有找到解决办法。

我的 Python 版本是 2.5.1,运行在 Mac OSX 上。

2 个回答

0

试着在第61行之前插入一个

print doctest, dir(doctest)

。这样做可以帮助你找到doctest模块的位置,以及它有哪些属性。你可以通过这种方式来确认你的doctest模块没有问题。

5

很明显,你现在手上的 doctest 模块对象并不是从标准库里通过 import doctest 导入的那个正常的、未经修改的版本。在第61行出现错误之前,打印一下 doctest.__file__(然后再执行 sys.stdout.flush(),确保你能看到结果;-))可以让你知道这个奇怪的 doctest 模块是从哪里来的。

如果你把 example.py 和输出结果给我们看,我们可能能指出你到底哪里做错了,如果你还没发现的话。

撰写回答