2009-09-10 97 views
1

我嘗試從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交互式shell中導入文檔測試並且還可以使用doctest.testmod()。我在谷歌搜索,沒有找到解決方案。

Python版本是2.5.1最大OSX

回答

5

很明顯,您手頭上的doctest模塊對象不是您從標準庫中獲得的import doctest中正常的純粹模塊對象。打印doctest.__file__(和sys.stdout.flush()之後,只是爲了確保你確實看到了結果;-)行61異常之前會讓你知道在哪裏模塊來自doctest模塊。

如果您向我們展示example.py以及該輸出,我們可能會指出您可能做錯了什麼,如果它尚未對您顯而易見。

+3

非常感謝!這是因爲我之前將腳本命名爲doctest.py,並且它不起作用,因此我更改爲example.py。但是doctest.pyc仍然存在,然後doctest.pyc被導入。 – noomz 2009-09-10 05:52:13

+0

如果需要和可能的話,Python會重新編譯pyc,但是,如果它具有pyc並且沒有源代碼,那麼它將只使用現有的pyc文件。 – 2009-09-10 15:19:59

0

嘗試插入一個

print doctest, dir(doctest) 

線61前這會告訴你的文檔測試模塊的位置,以及哪些屬性它。你可以這樣做,以確保你的doctest模塊沒有問題。