Doctest с использованием экранирующих символов

Иметь исправление функции ()в качестве вспомогательной функции для функции вывода, которая записывает строки в текстовый файл.

def fix(line):
    """
    returns the corrected line, with all apostrophes prefixed by an escape character

    >>> fix('DOUG\'S')
    'DOUG\\\'S'

    """
    if '\'' in line:
        return line.replace('\'', '\\\'')
    return line

Включаю доктесты, получаю следующую ошибку:

Failed example:
    fix('DOUG'S')
Exception raised:
    Traceback (most recent call last):
      File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/doctest.py", line 1254, in __run
        compileflags, 1) in test.globs
      File "<doctest convert.fix[0]>", line 1
        fix('DOUG'S')
                  ^

Независимо от того, какую комбинацию \ и я использую, doctest, похоже, не хочет работать, хотя сама функция работает отлично. Есть подозрение, что это результат того, что doctest находится в комментарии к блоку, но есть советы, как решить эту проблему.

7
задан zhuyxn 1 August 2012 в 18:59
поделиться