2016-12-30 108 views
0

我是Coverage.py和Python的新手。防止codecoverage打印到控制檯

我生成個別Python腳本使用

os.system("coverage combine") 
os.system("coverage report -m") 
os.system("coverage xml") 

我想寫覆蓋率報表輸出打印在控制檯.txt文件insted的合併報告。我不想打印控制檯輸出。有沒有辦法做到這一點? 在此先感謝。

+0

我生成個別Python腳本合併報告usingos.system(「覆蓋相結合」) 使用os.system(「覆蓋率報告-m」) os.syste m(「coverage xml」)' – Daniel

+0

恐怕我必須使用可執行文件的shelling。我注意到,如果我排除'os.system(「coverage report -m」)'沒有控制檯輸出。但是我需要那個輸出 - 但是在一個txt文件中 – Daniel

+0

爲什麼你需要使用os.system? Coverage.py有一個你可以從Python調用的API。 –

回答

2

既然你已經炮擊出使用os.system,您可以利用的外殼,只是將輸出重定向到一個文本文件:

os.system("coverage report -m > cov.txt") 

這就是說,因爲你使用Python來推動這一進程,你應該考慮直接從Python中這樣做,首先是

import coverage