【问题标题】:Error using python doctest使用 python doctest 时出错
【发布时间】:2009-09-10 04:44:10
【问题描述】:

我尝试使用来自 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 并启用 doctest.testmod() 以及。我在谷歌搜索并没有找到解决方案。

Max OSX 上的 Python 版本为 2.5.1

【问题讨论】:

    标签: python doctest


    【解决方案1】:

    显然,此时您手头的doctest 模块对象不是您从标准库中的import doctest 获得的正常、纯粹的对象。在第 61 行异常之前打印doctest.__file__(以及之后的sys.stdout.flush()ing,只是为了确保您确实看到了结果;-)会让您知道该流浪doctest 模块来自何处。

    如果您向我们展示 example.py 以及该输出,我们可能会指出您可能做错了什么,如果它对您来说还不是很明显的话。

    【讨论】:

    • 非常感谢!是因为我之前把脚本命名为doctest.py,但是不起作用所以我改成了example.py。但是 doctest.pyc 仍然存在,然后 doctest.pyc 被导入。
    • 如果需要并且可能的话,Python 将重新编译 pyc,但是,是的,如果它有 pyc 并且没有它的源代码,那么它将只使用现有的 pyc 文件。
    【解决方案2】:

    尝试插入一个

    print doctest, dir(doctest)
    

    在第 61 行之前。这将告诉您 doctest 模块的位置,以及它具有哪些属性。您可以这样做以确保您的 doctest 模块没有任何问题。

    【讨论】:

      猜你喜欢
      • 2018-06-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-20
      • 2011-01-23
      • 2013-06-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多