文字列をテキストファイルに書き込む出力関数のヘルパー関数として、関数fix()があります。
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
doctestをオンにすると、次のエラーが発生します。
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がブロックコメントに含まれている結果であると疑われますが、これを解決するためのヒントがあります。