Python doctest 错误
你好,我最近开始尝试使用Python,目前在读《像计算机科学家一样思考:学习Python 第二版》。我在使用doctest时遇到了一些问题。我用的是Windows 7的电脑,使用Eclipse IDE和pydev。
我的问题是,当我运行下面的脚本时,出现了下面的错误。下面是脚本和错误信息。
Traceback (most recent call last):
File "C:\Users\shaytac\PythonProjects\test.py", line 21, in <module>
doctest.testmod()
File "C:\Python26\lib\doctest.py", line 1829, in testmod
for test in finder.find(m, name, globs=globs, extraglobs=extraglobs):
File "C:\Python26\lib\doctest.py", line 852, in find
self._find(tests, obj, name, module, source_lines, globs, {})
File "C:\Python26\lib\doctest.py", line 906, in _find
globs, seen)
File "C:\Python26\lib\doctest.py", line 894, in _find
test = self._get_test(obj, name, module, globs, source_lines)
File "C:\Python26\lib\doctest.py", line 978, in _get_test
filename, lineno)
File "C:\Python26\lib\doctest.py", line 597, in get_doctest
return DocTest(self.get_examples(string, name), globs,
File "C:\Python26\lib\doctest.py", line 611, in get_examples
return [x for x in self.parse(string, name)
File "C:\Python26\lib\doctest.py", line 573, in parse
self._parse_example(m, name, lineno)
File "C:\Python26\lib\doctest.py", line 631, in _parse_example
self._check_prompt_blank(source_lines, indent, name, lineno)
File "C:\Python26\lib\doctest.py", line 718, in _check_prompt_blank
line[indent:indent+3], line))
ValueError: line 2 of the docstring for __main__.compare lacks blank after >>>: '>>>compare(5, 4) '
def compare(a, b):
"""
>>>compare(5, 4)
1
>>>compare(7, 7)
0
>>>compare(2, 3)
-1
>>>compare(42, 1)
1
"""
if a > b :
return 1
if a == b :
return 0
if a < b :
return -1
if __name__ == '__main__':
import doctest
doctest.testmod()
1 个回答
6
你应该写:
>>> compare(5, 4)
就像错误提示说的:在 compare
之前缺少空格。