2016-12-30 111 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