我試圖從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文檔(或者將它存儲在一個文本文件中,然後進行第二輪解析)。
我該如何使用Python或UNIX shell實用程序的組合來完成此操作?
編輯:我制定了以下shell腳本匹配每個塊如何我想,但我不確定如何將每個sed匹配重定向到它自己的文件。
python example.py | sed -n '/.*/,/^\**$/p' > `mktemp error.XXX`
如果剝離文件,方法,預期結果和實際結果,剩下的是什麼? – juanjux 2009-08-07 20:20:22
嗯,我只是無法解析他們到單獨的塊,因爲到目前爲止,我只能一次抓住整個塊,而不是單個字段。 – samoz 2009-08-07 20:26:12