首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python doctest错误。OSX

Python doctest错误。OSX
EN

Stack Overflow用户
提问于 2014-03-13 09:47:41
回答 1查看 486关注 0票数 1

我有MBP13'R运行最新的OSX。

因为某种原因我不能参加博士考试..。

Python代码:

代码语言:javascript
复制
def area_tri(base, height):
    """
    >>>area_tri(10, 10)
    50
    """
    return base / 2 * height

import doctest

doctest.testmod()

错误消息:

代码语言:javascript
复制
  Traceback (most recent call last):
  File "/Users/name/Documents/doctest.py", line 8, in <module>
    import doctest
  File "/Users/name/Documents/doctest.py", line 9, in <module>
    doctest.testmod()
  AttributeError: 'module' object has no attribute 'testmod'

我刚开始在我的Mac电脑上编程我无法修复它..。Python版本为3.3.4

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-13 10:07:28

您的文件命名混淆了解释器。您已经将文件命名为"/Users/name/Documents/doctest.py",它与doctest模块具有相同的名称。

更改名称,然后再试一次(确保还删除了旧的doctest.pyc )。

演示:

您的代码如预期的那样中断:

代码语言:javascript
复制
msvalkon@Lunkwill:/tmp$ python doctest.py 
Traceback (most recent call last):
  File "doctest.py", line 8, in <module>
    import doctest
  File "/tmp/doctest.py", line 9, in <module>
    doctest.testmod()
AttributeError: 'module' object has no attribute 'testmod'

重命名和删除.pyc之后

代码语言:javascript
复制
msvalkon@Lunkwill:/tmp$ mv doctest.py dtest.py 
msvalkon@Lunkwill:/tmp$ rm doctest.pyc
msvalkon@Lunkwill:/tmp$ python dtest.py
Traceback (most recent call last):
  File "dtest.py", line 9, in <module>
    doctest.testmod()
  File "/usr/lib/python2.7/doctest.py", line 1885, in testmod
    for test in finder.find(m, name, globs=globs, extraglobs=extraglobs):
  File "/usr/lib/python2.7/doctest.py", line 900, in find
    self._find(tests, obj, name, module, source_lines, globs, {})
  File "/usr/lib/python2.7/doctest.py", line 954, in _find
    globs, seen)
  File "/usr/lib/python2.7/doctest.py", line 942, in _find
    test = self._get_test(obj, name, module, globs, source_lines)
  File "/usr/lib/python2.7/doctest.py", line 1026, in _get_test
    filename, lineno)
  File "/usr/lib/python2.7/doctest.py", line 645, in get_doctest
    return DocTest(self.get_examples(string, name), globs,
  File "/usr/lib/python2.7/doctest.py", line 659, in get_examples
    return [x for x in self.parse(string, name)
  File "/usr/lib/python2.7/doctest.py", line 621, in parse
    self._parse_example(m, name, lineno)
  File "/usr/lib/python2.7/doctest.py", line 679, in _parse_example
    self._check_prompt_blank(source_lines, indent, name, lineno)
  File "/usr/lib/python2.7/doctest.py", line 766, in _check_prompt_blank
    line[indent:indent+3], line))
ValueError: line 2 of the docstring for __main__.area_tri lacks blank after >>>: '>>>area_tri(10, 10)'

注意,您没有遵循doctest规则,但这是另一个问题。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22374645

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档