Python doctest モジュールからの出力を解析して HTML ファイルに保存しようとしています。
次のような出力があります。
**********************************************************************
File "example.py", line 16, in __main__.factorial
Failed example:
[factorial(n) for n in range(6)]
Expected:
[0, 1, 2, 6, 24, 120]
Got:
[1, 1, 2, 6, 24, 120]
**********************************************************************
File "example.py", line 20, in __main__.factorial
Failed example:
factorial(30)
Expected:
25252859812191058636308480000000L
Got:
265252859812191058636308480000000L
**********************************************************************
1 items had failures:
2 of 8 in __main__.factorial
***Test Failed*** 2 failures.
各失敗の前にはアスタリスクの行があり、各テストの失敗が互いに区切られています。
私がやりたいのは、失敗したファイル名とメソッド、および期待される結果と実際の結果を取り除くことです。次に、これを使用して HTML ドキュメントを作成します (またはテキスト ファイルに保存してから、2 回目の解析を行います)。
Python のみ、または UNIX シェル ユーティリティの組み合わせを使用してこれを行うにはどうすればよいですか?
編集:各ブロックに一致する次のシェルスクリプトを作成しましたが、各 sed 一致を独自のファイルにリダイレクトする方法がわかりません。
python example.py | sed -n '/.*/,/^\**$/p' > `mktemp error.XXX`